diff --git a/eng/code-quality-reports/src/main/resources/revapi/revapi.json b/eng/code-quality-reports/src/main/resources/revapi/revapi.json index a0cfdcacfa8d..a8fc9e8ef82d 100644 --- a/eng/code-quality-reports/src/main/resources/revapi/revapi.json +++ b/eng/code-quality-reports/src/main/resources/revapi/revapi.json @@ -178,17 +178,17 @@ "old": "method void com\\.azure\\.spring\\.cloud\\.autoconfigure\\.jms\\.properties\\.AzureServiceBusJmsProperties::(setPassword|setRemoteUrl|setUsername)\\(java\\.lang\\.String\\)", "justification": "Remove some meaningless jms properties" }, - { + { "code": "java.method.addedToInterface", "new": "method void com.azure.spring.cloud.resourcemanager.provisioning.ServiceBusProvisioner::provisionQueue(java.lang.String, java.lang.String, com.azure.spring.cloud.resourcemanager.provisioning.properties.ServiceBusQueueProperties)", "justification": "New method added to support more properties." }, - { + { "code": "java.method.addedToInterface", "new": "method void com.azure.spring.cloud.resourcemanager.provisioning.ServiceBusProvisioner::provisionSubscription(java.lang.String, java.lang.String, java.lang.String, com.azure.spring.cloud.resourcemanager.provisioning.properties.ServiceBusTopicProperties)", "justification": "New method added to support more properties." }, - { + { "code": "java.method.addedToInterface", "new": "method void com.azure.spring.cloud.resourcemanager.provisioning.ServiceBusProvisioner::provisionTopic(java.lang.String, java.lang.String, com.azure.spring.cloud.resourcemanager.provisioning.properties.ServiceBusTopicProperties)", "justification": "New method added to support more properties." @@ -406,6 +406,20 @@ "code": "java.field.addedStaticField", "new": "field com\\.azure\\.data\\.schemaregistry\\.models\\.SchemaFormat\\.(CUSTOM|JSON)", "justification": "Additional schema formats are supported by Schema Registry." + }, + { + "ignore": true, + "code": "java.annotation.removed", + "package": "com.azure.ai.contentsafety.models", + "annotationType": "com.fasterxml.jackson.annotation.JsonProperty", + "justification": "Migrate to azure-json." + }, + { + "ignore": true, + "code": "java.annotation.removed", + "package": "com.azure.ai.contentsafety.models", + "annotationType": "com.fasterxml.jackson.annotation.JsonCreator", + "justification": "Migrate to azure-json." } ] } diff --git a/eng/emitter-package-lock.json b/eng/emitter-package-lock.json index 05f2be222c51..f988f840eaeb 100644 --- a/eng/emitter-package-lock.json +++ b/eng/emitter-package-lock.json @@ -5,7 +5,7 @@ "packages": { "": { "dependencies": { - "@azure-tools/typespec-java": "0.13.11" + "@azure-tools/typespec-java": "0.15.6" }, "devDependencies": { "@azure-tools/typespec-azure-core": "0.40.0", @@ -96,9 +96,9 @@ } }, "node_modules/@azure-tools/typespec-java": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-java/-/typespec-java-0.13.11.tgz", - "integrity": "sha512-/0X6hS4BZbFn3xa3vynYmaFjuAZEFE1HRgHFN7ptAhloZL7nAicmkdYBMtyfLaJV0kHBwKDPHooB7c16afliEw==", + "version": "0.15.6", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-java/-/typespec-java-0.15.6.tgz", + "integrity": "sha512-UFx4zNpotJXEj/nOo1jjlJPDnLTqeJ45JZERPDU41jmK354lj9WTf2JGL06dDFdQwI7xMBxVVHly9KnB/LseDw==", "dependencies": { "@autorest/codemodel": "~4.20.0", "js-yaml": "~4.1.0", @@ -108,8 +108,8 @@ "node": ">=14.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": ">=0.39.1 <1.0.0", - "@azure-tools/typespec-client-generator-core": ">=0.39.1 <1.0.0", + "@azure-tools/typespec-azure-core": ">=0.40.0 <1.0.0", + "@azure-tools/typespec-client-generator-core": ">=0.40.0 <1.0.0", "@typespec/compiler": ">=0.53.1 <1.0.0", "@typespec/http": ">=0.53.0 <1.0.0", "@typespec/openapi": ">=0.53.0 <1.0.0", @@ -140,14 +140,15 @@ } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" diff --git a/eng/emitter-package.json b/eng/emitter-package.json index a5fc9dd55a9c..0350cc9ed0f6 100644 --- a/eng/emitter-package.json +++ b/eng/emitter-package.json @@ -1,15 +1,15 @@ { "main": "dist/src/index.js", "dependencies": { - "@azure-tools/typespec-java": "0.13.11" + "@azure-tools/typespec-java": "0.15.6" }, "devDependencies": { - "@typespec/http": "0.54.0", "@typespec/openapi": "0.54.0", - "@azure-tools/typespec-azure-core": "0.40.0", - "@azure-tools/typespec-client-generator-core": "0.40.0", "@typespec/rest": "0.54.0", + "@azure-tools/typespec-client-generator-core": "0.40.0", + "@typespec/http": "0.54.0", "@typespec/versioning": "0.54.0", + "@azure-tools/typespec-azure-core": "0.40.0", "@typespec/compiler": "0.54.0" } } diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationAsyncClient.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationAsyncClient.java index daffff60bbd2..7216332aacac 100644 --- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationAsyncClient.java +++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationAsyncClient.java @@ -4,26 +4,10 @@ package com.azure.communication.jobrouter; import com.azure.communication.jobrouter.implementation.JobRouterAdministrationClientImpl; -import com.azure.communication.jobrouter.implementation.accesshelpers.ClassificationPolicyConstructorProxy; -import com.azure.communication.jobrouter.implementation.accesshelpers.DistributionPolicyConstructorProxy; -import com.azure.communication.jobrouter.implementation.accesshelpers.ExceptionPolicyConstructorProxy; -import com.azure.communication.jobrouter.implementation.accesshelpers.RouterQueueConstructorProxy; -import com.azure.communication.jobrouter.implementation.converters.ClassificationPolicyAdapter; -import com.azure.communication.jobrouter.implementation.converters.DistributionPolicyAdapter; -import com.azure.communication.jobrouter.implementation.converters.ExceptionPolicyAdapter; -import com.azure.communication.jobrouter.implementation.converters.QueueAdapter; import com.azure.communication.jobrouter.implementation.models.ClassificationPolicyInternal; import com.azure.communication.jobrouter.implementation.models.DistributionPolicyInternal; import com.azure.communication.jobrouter.implementation.models.ExceptionPolicyInternal; import com.azure.communication.jobrouter.implementation.models.RouterQueueInternal; -import com.azure.communication.jobrouter.models.ClassificationPolicy; -import com.azure.communication.jobrouter.models.CreateClassificationPolicyOptions; -import com.azure.communication.jobrouter.models.CreateDistributionPolicyOptions; -import com.azure.communication.jobrouter.models.CreateExceptionPolicyOptions; -import com.azure.communication.jobrouter.models.CreateQueueOptions; -import com.azure.communication.jobrouter.models.DistributionPolicy; -import com.azure.communication.jobrouter.models.ExceptionPolicy; -import com.azure.communication.jobrouter.models.RouterQueue; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ReturnType; import com.azure.core.annotation.ServiceClient; @@ -43,6 +27,22 @@ import java.util.stream.Collectors; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import com.azure.communication.jobrouter.implementation.accesshelpers.ClassificationPolicyConstructorProxy; +import com.azure.communication.jobrouter.implementation.accesshelpers.DistributionPolicyConstructorProxy; +import com.azure.communication.jobrouter.implementation.accesshelpers.ExceptionPolicyConstructorProxy; +import com.azure.communication.jobrouter.implementation.accesshelpers.RouterQueueConstructorProxy; +import com.azure.communication.jobrouter.implementation.converters.ClassificationPolicyAdapter; +import com.azure.communication.jobrouter.implementation.converters.DistributionPolicyAdapter; +import com.azure.communication.jobrouter.implementation.converters.ExceptionPolicyAdapter; +import com.azure.communication.jobrouter.implementation.converters.QueueAdapter; +import com.azure.communication.jobrouter.models.ClassificationPolicy; +import com.azure.communication.jobrouter.models.CreateClassificationPolicyOptions; +import com.azure.communication.jobrouter.models.CreateDistributionPolicyOptions; +import com.azure.communication.jobrouter.models.CreateExceptionPolicyOptions; +import com.azure.communication.jobrouter.models.CreateQueueOptions; +import com.azure.communication.jobrouter.models.DistributionPolicy; +import com.azure.communication.jobrouter.models.ExceptionPolicy; +import com.azure.communication.jobrouter.models.RouterQueue; /** * Initializes a new instance of the asynchronous JobRouterAdministrationClient type. @@ -65,34 +65,18 @@ public final class JobRouterAdministrationAsyncClient { /** * Creates or updates a distribution policy. - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -100,15 +84,16 @@ public final class JobRouterAdministrationAsyncClient {
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -116,6 +101,7 @@ public final class JobRouterAdministrationAsyncClient {
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -137,8 +123,7 @@ public final class JobRouterAdministrationAsyncClient {
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> upsertDistributionPolicyWithResponse(String distributionPolicyId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertDistributionPolicy' is 'application/merge-patch+json'
-        // and stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertDistributionPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertDistributionPolicyWithResponseAsync(distributionPolicyId, resource,
             requestOptions);
     }
@@ -334,9 +319,8 @@ public Mono updateDistributionPolicy(String distributionPolicyId, Bi
 
     /**
      * Retrieves an existing distribution policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -344,6 +328,7 @@ public Mono updateDistributionPolicy(String distributionPolicyId, Bi
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -369,28 +354,15 @@ public Mono> getDistributionPolicyWithResponse(String distr
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -398,6 +370,7 @@ public Mono> getDistributionPolicyWithResponse(String distr
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -438,34 +411,18 @@ public Mono> deleteDistributionPolicyWithResponse(String distribu
 
     /**
      * Creates or updates a classification policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -474,19 +431,22 @@ public Mono> deleteDistributionPolicyWithResponse(String distribu
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -495,12 +455,15 @@ public Mono> deleteDistributionPolicyWithResponse(String distribu
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -520,8 +483,7 @@ public Mono> deleteDistributionPolicyWithResponse(String distribu
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> upsertClassificationPolicyWithResponse(String classificationPolicyId,
         BinaryData resource, RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertClassificationPolicy' is 'application/merge-patch+json'
-        // and stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertClassificationPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertClassificationPolicyWithResponseAsync(classificationPolicyId, resource,
             requestOptions);
     }
@@ -740,9 +702,8 @@ public Mono updateClassificationPolicy(String classificationPolicyId
 
     /**
      * Retrieves an existing classification policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -751,12 +712,15 @@ public Mono updateClassificationPolicy(String classificationPolicyId
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -780,28 +744,15 @@ public Mono> getClassificationPolicyWithResponse(String cla
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -810,12 +761,15 @@ public Mono> getClassificationPolicyWithResponse(String cla
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -854,34 +808,18 @@ public Mono> deleteClassificationPolicyWithResponse(String classi
 
     /**
      * Creates or updates a exception policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -891,9 +829,11 @@ public Mono> deleteClassificationPolicyWithResponse(String classi
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -901,9 +841,9 @@ public Mono> deleteClassificationPolicyWithResponse(String classi
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -913,9 +853,11 @@ public Mono> deleteClassificationPolicyWithResponse(String classi
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -938,8 +880,7 @@ public Mono> deleteClassificationPolicyWithResponse(String classi
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> upsertExceptionPolicyWithResponse(String exceptionPolicyId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertExceptionPolicy' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertExceptionPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertExceptionPolicyWithResponseAsync(exceptionPolicyId, resource, requestOptions);
     }
 
@@ -1150,6 +1091,7 @@ public Mono createExceptionPolicy(CreateExceptionPolicyOptions
      * 

* Response Body Schema *

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1209,6 +1151,7 @@ public Mono> getExceptionPolicyWithResponse(String exceptio
      * 

* Response Body Schema *

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1261,34 +1204,18 @@ public Mono> deleteExceptionPolicyWithResponse(String exceptionPo
 
     /**
      * Creates or updates a queue.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1301,9 +1228,9 @@ public Mono> deleteExceptionPolicyWithResponse(String exceptionPo
      *     exceptionPolicyId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1331,8 +1258,7 @@ public Mono> deleteExceptionPolicyWithResponse(String exceptionPo
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> upsertQueueWithResponse(String queueId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertQueue' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertQueue' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertQueueWithResponseAsync(queueId, resource, requestOptions);
     }
 
@@ -1522,9 +1448,8 @@ public Mono createQueue(CreateQueueOptions createQueueOptions) {
 
     /**
      * Retrieves an existing queue by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1555,28 +1480,15 @@ public Mono> getQueueWithResponse(String queueId, RequestOp
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1656,11 +1568,13 @@ public PagedFlux listDistributionPolicies() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listDistributionPolicies(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(DistributionPolicy.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1723,12 +1637,14 @@ public PagedFlux listClassificationPolicies() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listClassificationPolicies(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux
                 .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                     pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                    pagedResponse.getValue().stream()
+                    pagedResponse.getValue()
+                        .stream()
                         .map(protocolMethodData -> protocolMethodData.toObject(ClassificationPolicy.class))
                         .collect(Collectors.toList()),
                     pagedResponse.getContinuationToken(), null));
@@ -1792,11 +1708,13 @@ public PagedFlux listExceptionPolicies() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listExceptionPolicies(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(ExceptionPolicy.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1859,11 +1777,13 @@ public PagedFlux listQueues() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listQueues(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(RouterQueue.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClient.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClient.java
index 441aed1278c5..5b1b43731ebc 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClient.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClient.java
@@ -4,26 +4,10 @@
 package com.azure.communication.jobrouter;
 
 import com.azure.communication.jobrouter.implementation.JobRouterAdministrationClientImpl;
-import com.azure.communication.jobrouter.implementation.accesshelpers.ClassificationPolicyConstructorProxy;
-import com.azure.communication.jobrouter.implementation.accesshelpers.DistributionPolicyConstructorProxy;
-import com.azure.communication.jobrouter.implementation.accesshelpers.ExceptionPolicyConstructorProxy;
-import com.azure.communication.jobrouter.implementation.accesshelpers.RouterQueueConstructorProxy;
-import com.azure.communication.jobrouter.implementation.converters.ClassificationPolicyAdapter;
-import com.azure.communication.jobrouter.implementation.converters.DistributionPolicyAdapter;
-import com.azure.communication.jobrouter.implementation.converters.ExceptionPolicyAdapter;
-import com.azure.communication.jobrouter.implementation.converters.QueueAdapter;
 import com.azure.communication.jobrouter.implementation.models.ClassificationPolicyInternal;
 import com.azure.communication.jobrouter.implementation.models.DistributionPolicyInternal;
 import com.azure.communication.jobrouter.implementation.models.ExceptionPolicyInternal;
 import com.azure.communication.jobrouter.implementation.models.RouterQueueInternal;
-import com.azure.communication.jobrouter.models.ClassificationPolicy;
-import com.azure.communication.jobrouter.models.CreateClassificationPolicyOptions;
-import com.azure.communication.jobrouter.models.CreateDistributionPolicyOptions;
-import com.azure.communication.jobrouter.models.CreateExceptionPolicyOptions;
-import com.azure.communication.jobrouter.models.CreateQueueOptions;
-import com.azure.communication.jobrouter.models.DistributionPolicy;
-import com.azure.communication.jobrouter.models.ExceptionPolicy;
-import com.azure.communication.jobrouter.models.RouterQueue;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.ReturnType;
 import com.azure.core.annotation.ServiceClient;
@@ -37,6 +21,22 @@
 import com.azure.core.http.rest.Response;
 import com.azure.core.http.rest.SimpleResponse;
 import com.azure.core.util.BinaryData;
+import com.azure.communication.jobrouter.implementation.accesshelpers.ClassificationPolicyConstructorProxy;
+import com.azure.communication.jobrouter.implementation.accesshelpers.DistributionPolicyConstructorProxy;
+import com.azure.communication.jobrouter.implementation.accesshelpers.ExceptionPolicyConstructorProxy;
+import com.azure.communication.jobrouter.implementation.accesshelpers.RouterQueueConstructorProxy;
+import com.azure.communication.jobrouter.implementation.converters.ClassificationPolicyAdapter;
+import com.azure.communication.jobrouter.implementation.converters.DistributionPolicyAdapter;
+import com.azure.communication.jobrouter.implementation.converters.ExceptionPolicyAdapter;
+import com.azure.communication.jobrouter.implementation.converters.QueueAdapter;
+import com.azure.communication.jobrouter.models.ClassificationPolicy;
+import com.azure.communication.jobrouter.models.CreateClassificationPolicyOptions;
+import com.azure.communication.jobrouter.models.CreateDistributionPolicyOptions;
+import com.azure.communication.jobrouter.models.CreateExceptionPolicyOptions;
+import com.azure.communication.jobrouter.models.CreateQueueOptions;
+import com.azure.communication.jobrouter.models.DistributionPolicy;
+import com.azure.communication.jobrouter.models.ExceptionPolicy;
+import com.azure.communication.jobrouter.models.RouterQueue;
 
 /**
  * Initializes a new instance of the synchronous JobRouterAdministrationClient type.
@@ -59,34 +59,18 @@ public final class JobRouterAdministrationClient {
 
     /**
      * Creates or updates a distribution policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -94,15 +78,16 @@ public final class JobRouterAdministrationClient {
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -110,6 +95,7 @@ public final class JobRouterAdministrationClient {
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -130,8 +116,7 @@ public final class JobRouterAdministrationClient {
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response upsertDistributionPolicyWithResponse(String distributionPolicyId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertDistributionPolicy' is 'application/merge-patch+json'
-        // and stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertDistributionPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertDistributionPolicyWithResponse(distributionPolicyId, resource, requestOptions);
     }
 
@@ -326,9 +311,8 @@ public Response createDistributionPolicyWithResponse(
 
     /**
      * Retrieves an existing distribution policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -336,6 +320,7 @@ public Response createDistributionPolicyWithResponse(
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -360,28 +345,15 @@ public Response getDistributionPolicyWithResponse(String distributio
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -389,6 +361,7 @@ public Response getDistributionPolicyWithResponse(String distributio
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -429,34 +402,18 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
 
     /**
      * Creates or updates a classification policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -465,19 +422,22 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -486,12 +446,15 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -510,8 +473,7 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response upsertClassificationPolicyWithResponse(String classificationPolicyId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertClassificationPolicy' is 'application/merge-patch+json'
-        // and stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertClassificationPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertClassificationPolicyWithResponse(classificationPolicyId, resource,
             requestOptions);
     }
@@ -729,9 +691,8 @@ public Response createClassificationPolicyWithResponse(
 
     /**
      * Retrieves an existing classification policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -740,12 +701,15 @@ public Response createClassificationPolicyWithResponse(
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -768,28 +732,15 @@ public Response getClassificationPolicyWithResponse(String classific
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -798,12 +749,15 @@ public Response getClassificationPolicyWithResponse(String classific
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -842,34 +796,18 @@ public Response deleteClassificationPolicyWithResponse(String classificati
 
     /**
      * Creates or updates a exception policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -879,9 +817,11 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -889,9 +829,9 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -901,9 +841,11 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -925,8 +867,7 @@ public Response deleteClassificationPolicyWithResponse(String classificati
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response upsertExceptionPolicyWithResponse(String exceptionPolicyId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertExceptionPolicy' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertExceptionPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertExceptionPolicyWithResponse(exceptionPolicyId, resource, requestOptions);
     }
 
@@ -1139,6 +1080,7 @@ public ExceptionPolicy createExceptionPolicy(CreateExceptionPolicyOptions create
      * 

* Response Body Schema *

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1197,6 +1139,7 @@ public Response getExceptionPolicyWithResponse(String exceptionPolic
      * 

* Response Body Schema *

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1248,34 +1191,18 @@ public Response deleteExceptionPolicyWithResponse(String exceptionPolicyId
 
     /**
      * Creates or updates a queue.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1288,9 +1215,9 @@ public Response deleteExceptionPolicyWithResponse(String exceptionPolicyId
      *     exceptionPolicyId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1316,8 +1243,7 @@ public Response deleteExceptionPolicyWithResponse(String exceptionPolicyId
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response upsertQueueWithResponse(String queueId, BinaryData resource, RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertQueue' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertQueue' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertQueueWithResponse(queueId, resource, requestOptions);
     }
 
@@ -1503,9 +1429,8 @@ public RouterQueue createQueue(CreateQueueOptions createQueueOptions) {
 
     /**
      * Retrieves an existing queue by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1535,28 +1460,15 @@ public Response getQueueWithResponse(String queueId, RequestOptions
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClientBuilder.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClientBuilder.java
index 55d42b11f47d..8bf59540deaa 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClientBuilder.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClientBuilder.java
@@ -3,18 +3,15 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter;
 
-import com.azure.communication.common.implementation.CommunicationConnectionString;
+import com.azure.core.client.traits.TokenCredentialTrait;
+import com.azure.core.client.traits.KeyCredentialTrait;
+import com.azure.core.client.traits.ConnectionStringTrait;
 import com.azure.communication.jobrouter.implementation.JobRouterAdministrationClientImpl;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.ServiceClientBuilder;
 import com.azure.core.client.traits.ConfigurationTrait;
-import com.azure.core.client.traits.ConnectionStringTrait;
 import com.azure.core.client.traits.EndpointTrait;
 import com.azure.core.client.traits.HttpTrait;
-import com.azure.core.client.traits.KeyCredentialTrait;
-import com.azure.core.client.traits.TokenCredentialTrait;
-import com.azure.core.credential.KeyCredential;
-import com.azure.core.credential.TokenCredential;
 import com.azure.core.http.HttpClient;
 import com.azure.core.http.HttpHeaderName;
 import com.azure.core.http.HttpHeaders;
@@ -24,8 +21,8 @@
 import com.azure.core.http.policy.AddDatePolicy;
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -42,6 +39,9 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import com.azure.communication.common.implementation.CommunicationConnectionString;
+import com.azure.core.credential.KeyCredential;
+import com.azure.core.credential.TokenCredential;
 
 /**
  * A builder for creating a new instance of the JobRouterAdministrationClient type.
@@ -94,7 +94,7 @@ public JobRouterAdministrationClientBuilder() {
     @Override
     public JobRouterAdministrationClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -265,17 +265,21 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
         policies.add(new AddDatePolicy());
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAsyncClient.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAsyncClient.java
index d5e799d9758e..8932ec23931d 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAsyncClient.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAsyncClient.java
@@ -4,10 +4,6 @@
 package com.azure.communication.jobrouter;
 
 import com.azure.communication.jobrouter.implementation.JobRouterClientImpl;
-import com.azure.communication.jobrouter.implementation.accesshelpers.RouterJobConstructorProxy;
-import com.azure.communication.jobrouter.implementation.accesshelpers.RouterWorkerConstructorProxy;
-import com.azure.communication.jobrouter.implementation.converters.JobAdapter;
-import com.azure.communication.jobrouter.implementation.converters.WorkerAdapter;
 import com.azure.communication.jobrouter.implementation.models.CancelJobOptionsInternal;
 import com.azure.communication.jobrouter.implementation.models.CancelJobResultInternal;
 import com.azure.communication.jobrouter.implementation.models.CloseJobOptionsInternal;
@@ -21,13 +17,8 @@
 import com.azure.communication.jobrouter.implementation.models.RouterJobInternal;
 import com.azure.communication.jobrouter.implementation.models.RouterWorkerInternal;
 import com.azure.communication.jobrouter.models.AcceptJobOfferResult;
-import com.azure.communication.jobrouter.models.CreateJobOptions;
-import com.azure.communication.jobrouter.models.CreateWorkerOptions;
-import com.azure.communication.jobrouter.models.RouterJob;
 import com.azure.communication.jobrouter.models.RouterJobPositionDetails;
 import com.azure.communication.jobrouter.models.RouterJobStatusSelector;
-import com.azure.communication.jobrouter.models.RouterQueueStatistics;
-import com.azure.communication.jobrouter.models.RouterWorker;
 import com.azure.communication.jobrouter.models.RouterWorkerStateSelector;
 import com.azure.communication.jobrouter.models.UnassignJobOptions;
 import com.azure.communication.jobrouter.models.UnassignJobResult;
@@ -51,6 +42,15 @@
 import java.util.stream.Collectors;
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
+import com.azure.communication.jobrouter.implementation.accesshelpers.RouterJobConstructorProxy;
+import com.azure.communication.jobrouter.implementation.accesshelpers.RouterWorkerConstructorProxy;
+import com.azure.communication.jobrouter.implementation.converters.JobAdapter;
+import com.azure.communication.jobrouter.implementation.converters.WorkerAdapter;
+import com.azure.communication.jobrouter.models.CreateJobOptions;
+import com.azure.communication.jobrouter.models.CreateWorkerOptions;
+import com.azure.communication.jobrouter.models.RouterJob;
+import com.azure.communication.jobrouter.models.RouterQueueStatistics;
+import com.azure.communication.jobrouter.models.RouterWorker;
 
 /**
  * Initializes a new instance of the asynchronous JobRouterClient type.
@@ -73,34 +73,18 @@ public final class JobRouterAsyncClient {
 
     /**
      * Creates or updates a router job.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -150,12 +134,13 @@ public final class JobRouterAsyncClient {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -205,6 +190,7 @@ public final class JobRouterAsyncClient {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -221,8 +207,7 @@ public final class JobRouterAsyncClient { @Generated @ServiceMethod(returns = ReturnType.SINGLE) Mono> upsertJobWithResponse(String jobId, BinaryData resource, RequestOptions requestOptions) { - // Convenience API is not generated, as operation 'upsertJob' is 'application/merge-patch+json' and - // stream-style-serialization is not enabled + // Convenience API is not generated, as operation 'upsertJob' is 'application/merge-patch+json' and stream-style-serialization is not enabled return this.serviceClient.upsertJobWithResponseAsync(jobId, resource, requestOptions); } @@ -554,9 +539,8 @@ public Mono createJob(CreateJobOptions createJobOptions) { /** * Retrieves an existing job by Id. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -606,6 +590,7 @@ public Mono createJob(CreateJobOptions createJobOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -646,16 +631,17 @@ public Mono> deleteJobWithResponse(String jobId, RequestOptions r *

* Request Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -677,16 +663,17 @@ public Mono> reclassifyJobWithResponse(String jobId, Reques *

* Request Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -704,18 +691,20 @@ public Mono reclassifyJob(String jobId, RequestOptions requestOption *

* Request Body Schema *

+ * *
{@code
      * {
      *     note: String (Optional)
      *     dispositionCode: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -737,18 +726,20 @@ public Mono> cancelJobWithResponse(String jobId, RequestOpt *

* Request Body Schema *

+ * *
{@code
      * {
      *     note: String (Optional)
      *     dispositionCode: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -763,67 +754,26 @@ public Mono cancelJob(String jobId, RequestOptions requestOptions) { /** * Retrieves list of jobs based on filter parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", + * "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", + * "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by + * classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -873,6 +823,7 @@ public Mono cancelJob(String jobId, RequestOptions requestOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -892,9 +843,8 @@ public PagedFlux listJobs(RequestOptions requestOptions) { /** * Gets a job's position details. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     jobId: String (Required)
@@ -921,17 +871,16 @@ public Mono> getQueuePositionWithResponse(String jobId, Req
 
     /**
      * Unassign a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     suspendMatching: Boolean (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     jobId: String (Required)
@@ -958,9 +907,8 @@ public Mono> unassignJobWithResponse(String jobId, String a
 
     /**
      * Accepts an offer to work on a job and returns a 409/Conflict if another agent accepted the job already.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     assignmentId: String (Required)
@@ -991,17 +939,19 @@ public Mono> acceptJobOfferWithResponse(String workerId, St
      * 

* Request Body Schema *

+ * *
{@code
      * {
      *     retryOfferAt: OffsetDateTime (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param workerId Id of a worker. @@ -1025,17 +975,19 @@ public Mono> declineJobOfferWithResponse(String workerId, S *

* Request Body Schema *

+ * *
{@code
      * {
      *     retryOfferAt: OffsetDateTime (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param workerId Id of a worker. @@ -1052,9 +1004,8 @@ public Mono declineJobOffer(String workerId, String offerId, Request /** * Retrieves a queue's statistics. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     queueId: String (Required)
@@ -1082,34 +1033,18 @@ public Mono> getQueueStatisticsWithResponse(String queueId,
 
     /**
      * Creates or updates a worker.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1154,9 +1089,9 @@ public Mono> getQueueStatisticsWithResponse(String queueId,
      *     maxConcurrentOffers: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1215,8 +1150,7 @@ public Mono> getQueueStatisticsWithResponse(String queueId,
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> upsertWorkerWithResponse(String workerId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertWorker' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertWorker' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertWorkerWithResponseAsync(workerId, resource, requestOptions);
     }
 
@@ -1526,9 +1460,8 @@ public Mono createWorker(CreateWorkerOptions createWorkerOptions)
 
     /**
      * Retrieves an existing worker by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1607,54 +1540,24 @@ public Mono> deleteWorkerWithResponse(String workerId, RequestOpt
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: + * "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration + * with this channel.
queueIdStringNoIf specified, select workers who are assigned to this + * queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for + * the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will + * return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1818,11 +1721,13 @@ public PagedFlux listJobs(RouterJobStatusSelector status, String queu
         }
         PagedFlux pagedFluxResponse = listJobs(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(RouterJob.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1845,11 +1750,13 @@ public PagedFlux listJobs() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listJobs(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(RouterJob.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -2040,11 +1947,13 @@ public PagedFlux listWorkers(RouterWorkerStateSelector state, Stri
         }
         PagedFlux pagedFluxResponse = listWorkers(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(RouterWorker.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -2067,11 +1976,13 @@ public PagedFlux listWorkers() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listWorkers(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(RouterWorker.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -2109,17 +2020,19 @@ public Mono unassignJob(String jobId, String assignmentId, Un
      * 

* Request Body Schema *

+ * *
{@code
      * {
      *     note: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -2143,17 +2056,19 @@ public Mono> completeJobWithResponse(String jobId, String a *

* Request Body Schema *

+ * *
{@code
      * {
      *     note: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -2173,6 +2088,7 @@ public Mono completeJob(String jobId, String assignmentId, RequestOp *

* Request Body Schema *

+ * *
{@code
      * {
      *     dispositionCode: String (Optional)
@@ -2180,12 +2096,13 @@ public Mono completeJob(String jobId, String assignmentId, RequestOp
      *     note: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -2208,6 +2125,7 @@ public Mono> closeJobWithResponse(String jobId, String assi *

* Request Body Schema *

+ * *
{@code
      * {
      *     dispositionCode: String (Optional)
@@ -2215,12 +2133,13 @@ public Mono> closeJobWithResponse(String jobId, String assi
      *     note: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClient.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClient.java index 84fb6a865702..fdbc7fa0c1bf 100644 --- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClient.java +++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClient.java @@ -4,10 +4,6 @@ package com.azure.communication.jobrouter; import com.azure.communication.jobrouter.implementation.JobRouterClientImpl; -import com.azure.communication.jobrouter.implementation.accesshelpers.RouterJobConstructorProxy; -import com.azure.communication.jobrouter.implementation.accesshelpers.RouterWorkerConstructorProxy; -import com.azure.communication.jobrouter.implementation.converters.JobAdapter; -import com.azure.communication.jobrouter.implementation.converters.WorkerAdapter; import com.azure.communication.jobrouter.implementation.models.CancelJobOptionsInternal; import com.azure.communication.jobrouter.implementation.models.CancelJobResultInternal; import com.azure.communication.jobrouter.implementation.models.CloseJobOptionsInternal; @@ -21,13 +17,8 @@ import com.azure.communication.jobrouter.implementation.models.RouterJobInternal; import com.azure.communication.jobrouter.implementation.models.RouterWorkerInternal; import com.azure.communication.jobrouter.models.AcceptJobOfferResult; -import com.azure.communication.jobrouter.models.CreateJobOptions; -import com.azure.communication.jobrouter.models.CreateWorkerOptions; -import com.azure.communication.jobrouter.models.RouterJob; import com.azure.communication.jobrouter.models.RouterJobPositionDetails; import com.azure.communication.jobrouter.models.RouterJobStatusSelector; -import com.azure.communication.jobrouter.models.RouterQueueStatistics; -import com.azure.communication.jobrouter.models.RouterWorker; import com.azure.communication.jobrouter.models.RouterWorkerStateSelector; import com.azure.communication.jobrouter.models.UnassignJobOptions; import com.azure.communication.jobrouter.models.UnassignJobResult; @@ -45,6 +36,15 @@ import com.azure.core.http.rest.SimpleResponse; import com.azure.core.util.BinaryData; import java.time.OffsetDateTime; +import com.azure.communication.jobrouter.implementation.accesshelpers.RouterJobConstructorProxy; +import com.azure.communication.jobrouter.implementation.accesshelpers.RouterWorkerConstructorProxy; +import com.azure.communication.jobrouter.implementation.converters.JobAdapter; +import com.azure.communication.jobrouter.implementation.converters.WorkerAdapter; +import com.azure.communication.jobrouter.models.CreateJobOptions; +import com.azure.communication.jobrouter.models.CreateWorkerOptions; +import com.azure.communication.jobrouter.models.RouterJob; +import com.azure.communication.jobrouter.models.RouterQueueStatistics; +import com.azure.communication.jobrouter.models.RouterWorker; /** * Initializes a new instance of the synchronous JobRouterClient type. @@ -67,34 +67,18 @@ public final class JobRouterClient { /** * Creates or updates a router job. - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -144,12 +128,13 @@ public final class JobRouterClient {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -199,6 +184,7 @@ public final class JobRouterClient {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -215,8 +201,7 @@ public final class JobRouterClient { @Generated @ServiceMethod(returns = ReturnType.SINGLE) Response upsertJobWithResponse(String jobId, BinaryData resource, RequestOptions requestOptions) { - // Convenience API is not generated, as operation 'upsertJob' is 'application/merge-patch+json' and - // stream-style-serialization is not enabled + // Convenience API is not generated, as operation 'upsertJob' is 'application/merge-patch+json' and stream-style-serialization is not enabled return this.serviceClient.upsertJobWithResponse(jobId, resource, requestOptions); } @@ -556,9 +541,8 @@ public RouterJob createJob(CreateJobOptions createJobOptions) { /** * Retrieves an existing job by Id. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -608,6 +592,7 @@ public RouterJob createJob(CreateJobOptions createJobOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -648,16 +633,17 @@ public Response deleteJobWithResponse(String jobId, RequestOptions request *

* Request Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -678,16 +664,17 @@ public Response reclassifyJobWithResponse(String jobId, RequestOptio *

* Request Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -708,18 +695,20 @@ public BinaryData reclassifyJob(String jobId, RequestOptions requestOptions) { *

* Request Body Schema *

+ * *
{@code
      * {
      *     note: String (Optional)
      *     dispositionCode: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -740,18 +729,20 @@ public Response cancelJobWithResponse(String jobId, RequestOptions r *

* Request Body Schema *

+ * *
{@code
      * {
      *     note: String (Optional)
      *     dispositionCode: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -769,67 +760,26 @@ public BinaryData cancelJob(String jobId, RequestOptions requestOptions) { /** * Retrieves list of jobs based on filter parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", + * "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", + * "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by + * classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -879,6 +829,7 @@ public BinaryData cancelJob(String jobId, RequestOptions requestOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -898,9 +849,8 @@ public PagedIterable listJobs(RequestOptions requestOptions) { /** * Gets a job's position details. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     jobId: String (Required)
@@ -927,17 +877,16 @@ public Response getQueuePositionWithResponse(String jobId, RequestOp
 
     /**
      * Unassign a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     suspendMatching: Boolean (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     jobId: String (Required)
@@ -963,9 +912,8 @@ public Response unassignJobWithResponse(String jobId, String assignm
 
     /**
      * Accepts an offer to work on a job and returns a 409/Conflict if another agent accepted the job already.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     assignmentId: String (Required)
@@ -996,17 +944,19 @@ public Response acceptJobOfferWithResponse(String workerId, String o
      * 

* Request Body Schema *

+ * *
{@code
      * {
      *     retryOfferAt: OffsetDateTime (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param workerId Id of a worker. @@ -1029,17 +979,19 @@ public Response declineJobOfferWithResponse(String workerId, String *

* Request Body Schema *

+ * *
{@code
      * {
      *     retryOfferAt: OffsetDateTime (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param workerId Id of a worker. @@ -1058,9 +1010,8 @@ public BinaryData declineJobOffer(String workerId, String offerId, RequestOption /** * Retrieves a queue's statistics. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     queueId: String (Required)
@@ -1088,34 +1039,18 @@ public Response getQueueStatisticsWithResponse(String queueId, Reque
 
     /**
      * Creates or updates a worker.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1160,9 +1095,9 @@ public Response getQueueStatisticsWithResponse(String queueId, Reque
      *     maxConcurrentOffers: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1220,8 +1155,7 @@ public Response getQueueStatisticsWithResponse(String queueId, Reque
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response upsertWorkerWithResponse(String workerId, BinaryData resource, RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertWorker' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertWorker' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertWorkerWithResponse(workerId, resource, requestOptions);
     }
 
@@ -1535,9 +1469,8 @@ public RouterWorker createWorker(CreateWorkerOptions createWorkerOptions) {
 
     /**
      * Retrieves an existing worker by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1616,54 +1549,24 @@ public Response deleteWorkerWithResponse(String workerId, RequestOptions r
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: + * "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration + * with this channel.
queueIdStringNoIf specified, select workers who are assigned to this + * queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for + * the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will + * return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2072,17 +1975,19 @@ public UnassignJobResult unassignJob(String jobId, String assignmentId, Unassign
      * 

* Request Body Schema *

+ * *
{@code
      * {
      *     note: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -2105,17 +2010,19 @@ public Response completeJobWithResponse(String jobId, String assignm *

* Request Body Schema *

+ * *
{@code
      * {
      *     note: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -2137,6 +2044,7 @@ public BinaryData completeJob(String jobId, String assignmentId, RequestOptions *

* Request Body Schema *

+ * *
{@code
      * {
      *     dispositionCode: String (Optional)
@@ -2144,12 +2052,13 @@ public BinaryData completeJob(String jobId, String assignmentId, RequestOptions
      *     note: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -2171,6 +2080,7 @@ public Response closeJobWithResponse(String jobId, String assignment *

* Request Body Schema *

+ * *
{@code
      * {
      *     dispositionCode: String (Optional)
@@ -2178,12 +2088,13 @@ public Response closeJobWithResponse(String jobId, String assignment
      *     note: String (Optional)
      * }
      * }
+ * *

* Response Body Schema *

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClientBuilder.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClientBuilder.java index 1b2ca0cc07a9..fa869143918b 100644 --- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClientBuilder.java +++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClientBuilder.java @@ -3,18 +3,15 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.communication.jobrouter; -import com.azure.communication.common.implementation.CommunicationConnectionString; +import com.azure.core.client.traits.TokenCredentialTrait; +import com.azure.core.client.traits.KeyCredentialTrait; +import com.azure.core.client.traits.ConnectionStringTrait; import com.azure.communication.jobrouter.implementation.JobRouterClientImpl; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ServiceClientBuilder; import com.azure.core.client.traits.ConfigurationTrait; -import com.azure.core.client.traits.ConnectionStringTrait; import com.azure.core.client.traits.EndpointTrait; import com.azure.core.client.traits.HttpTrait; -import com.azure.core.client.traits.KeyCredentialTrait; -import com.azure.core.client.traits.TokenCredentialTrait; -import com.azure.core.credential.KeyCredential; -import com.azure.core.credential.TokenCredential; import com.azure.core.http.HttpClient; import com.azure.core.http.HttpHeaderName; import com.azure.core.http.HttpHeaders; @@ -24,8 +21,8 @@ import com.azure.core.http.policy.AddDatePolicy; import com.azure.core.http.policy.AddHeadersFromContextPolicy; import com.azure.core.http.policy.AddHeadersPolicy; -import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpPipelinePolicy; import com.azure.core.http.policy.HttpPolicyProviders; import com.azure.core.http.policy.RequestIdPolicy; @@ -42,6 +39,9 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import com.azure.communication.common.implementation.CommunicationConnectionString; +import com.azure.core.credential.KeyCredential; +import com.azure.core.credential.TokenCredential; /** * A builder for creating a new instance of the JobRouterClient type. @@ -92,7 +92,7 @@ public JobRouterClientBuilder() { @Override public JobRouterClientBuilder pipeline(HttpPipeline pipeline) { if (this.pipeline != null && pipeline == null) { - LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured."); + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); } this.pipeline = pipeline; return this; @@ -263,17 +263,21 @@ private HttpPipeline createHttpPipeline() { if (headers.getSize() > 0) { policies.add(new AddHeadersPolicy(headers)); } - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) .forEach(p -> policies.add(p)); HttpPolicyProviders.addBeforeRetryPolicies(policies); policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); policies.add(new AddDatePolicy()); - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) .forEach(p -> policies.add(p)); HttpPolicyProviders.addAfterRetryPolicies(policies); policies.add(new HttpLoggingPolicy(localHttpLogOptions)); HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) - .httpClient(httpClient).clientOptions(localClientOptions).build(); + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); return httpPipeline; } diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterAdministrationClientImpl.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterAdministrationClientImpl.java index 1ee22ed8e203..d08757099075 100644 --- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterAdministrationClientImpl.java +++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterAdministrationClientImpl.java @@ -589,34 +589,18 @@ Response listQueuesNextSync(@PathParam(value = "nextLink", encoded = /** * Creates or updates a distribution policy. - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -624,15 +608,16 @@ Response listQueuesNextSync(@PathParam(value = "nextLink", encoded =
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -640,6 +625,7 @@ Response listQueuesNextSync(@PathParam(value = "nextLink", encoded =
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -669,34 +655,18 @@ public Mono> upsertDistributionPolicyWithResponseAsync(Stri
 
     /**
      * Creates or updates a distribution policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -704,15 +674,16 @@ public Mono> upsertDistributionPolicyWithResponseAsync(Stri
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -720,6 +691,7 @@ public Mono> upsertDistributionPolicyWithResponseAsync(Stri
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -747,9 +719,8 @@ public Response upsertDistributionPolicyWithResponse(String distribu
 
     /**
      * Retrieves an existing distribution policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -757,6 +728,7 @@ public Response upsertDistributionPolicyWithResponse(String distribu
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -783,9 +755,8 @@ public Mono> getDistributionPolicyWithResponseAsync(String
 
     /**
      * Retrieves an existing distribution policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -793,6 +764,7 @@ public Mono> getDistributionPolicyWithResponseAsync(String
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -818,28 +790,15 @@ public Response getDistributionPolicyWithResponse(String distributio
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -847,6 +806,7 @@ public Response getDistributionPolicyWithResponse(String distributio
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -874,28 +834,15 @@ private Mono> listDistributionPoliciesSinglePageAsync(
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -903,6 +850,7 @@ private Mono> listDistributionPoliciesSinglePageAsync(
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -948,28 +896,15 @@ public PagedFlux listDistributionPoliciesAsync(RequestOptions reques
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -977,6 +912,7 @@ public PagedFlux listDistributionPoliciesAsync(RequestOptions reques
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -1002,28 +938,15 @@ private PagedResponse listDistributionPoliciesSinglePage(RequestOpti
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1031,6 +954,7 @@ private PagedResponse listDistributionPoliciesSinglePage(RequestOpti
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -1114,34 +1038,18 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
 
     /**
      * Creates or updates a classification policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1150,19 +1058,22 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1171,12 +1082,15 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1204,34 +1118,18 @@ public Mono> upsertClassificationPolicyWithResponseAsync(St
 
     /**
      * Creates or updates a classification policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1240,19 +1138,22 @@ public Mono> upsertClassificationPolicyWithResponseAsync(St
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1261,12 +1162,15 @@ public Mono> upsertClassificationPolicyWithResponseAsync(St
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1292,9 +1196,8 @@ public Response upsertClassificationPolicyWithResponse(String classi
 
     /**
      * Retrieves an existing classification policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1303,12 +1206,15 @@ public Response upsertClassificationPolicyWithResponse(String classi
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1333,9 +1239,8 @@ public Mono> getClassificationPolicyWithResponseAsync(Strin
 
     /**
      * Retrieves an existing classification policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1344,12 +1249,15 @@ public Mono> getClassificationPolicyWithResponseAsync(Strin
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1373,28 +1281,15 @@ public Response getClassificationPolicyWithResponse(String classific
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1403,12 +1298,15 @@ public Response getClassificationPolicyWithResponse(String classific
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1434,28 +1332,15 @@ private Mono> listClassificationPoliciesSinglePageAsyn
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1464,12 +1349,15 @@ private Mono> listClassificationPoliciesSinglePageAsyn
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1513,28 +1401,15 @@ public PagedFlux listClassificationPoliciesAsync(RequestOptions requ
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1543,12 +1418,15 @@ public PagedFlux listClassificationPoliciesAsync(RequestOptions requ
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1572,28 +1450,15 @@ private PagedResponse listClassificationPoliciesSinglePage(RequestOp
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1602,12 +1467,15 @@ private PagedResponse listClassificationPoliciesSinglePage(RequestOp
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1689,34 +1557,18 @@ public Response deleteClassificationPolicyWithResponse(String classificati
 
     /**
      * Creates or updates a exception policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1726,9 +1578,11 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1736,9 +1590,9 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1748,9 +1602,11 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1781,34 +1637,18 @@ public Mono> upsertExceptionPolicyWithResponseAsync(String
 
     /**
      * Creates or updates a exception policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1818,9 +1658,11 @@ public Mono> upsertExceptionPolicyWithResponseAsync(String
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1828,9 +1670,9 @@ public Mono> upsertExceptionPolicyWithResponseAsync(String
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1840,9 +1682,11 @@ public Mono> upsertExceptionPolicyWithResponseAsync(String
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1871,9 +1715,8 @@ public Response upsertExceptionPolicyWithResponse(String exceptionPo
 
     /**
      * Retrieves an existing exception policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1883,9 +1726,11 @@ public Response upsertExceptionPolicyWithResponse(String exceptionPo
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1913,9 +1758,8 @@ public Mono> getExceptionPolicyWithResponseAsync(String exc
 
     /**
      * Retrieves an existing exception policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1925,9 +1769,11 @@ public Mono> getExceptionPolicyWithResponseAsync(String exc
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1954,28 +1800,15 @@ public Response getExceptionPolicyWithResponse(String exceptionPolic
 
     /**
      * Retrieves existing exception policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1985,9 +1818,11 @@ public Response getExceptionPolicyWithResponse(String exceptionPolic
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -2016,28 +1851,15 @@ private Mono> listExceptionPoliciesSinglePageAsync(Req
 
     /**
      * Retrieves existing exception policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2047,9 +1869,11 @@ private Mono> listExceptionPoliciesSinglePageAsync(Req
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -2096,28 +1920,15 @@ public PagedFlux listExceptionPoliciesAsync(RequestOptions requestOp
 
     /**
      * Retrieves existing exception policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2127,9 +1938,11 @@ public PagedFlux listExceptionPoliciesAsync(RequestOptions requestOp
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -2156,28 +1969,15 @@ private PagedResponse listExceptionPoliciesSinglePage(RequestOptions
 
     /**
      * Retrieves existing exception policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2187,9 +1987,11 @@ private PagedResponse listExceptionPoliciesSinglePage(RequestOptions
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -2273,34 +2075,18 @@ public Response deleteExceptionPolicyWithResponse(String exceptionPolicyId
 
     /**
      * Creates or updates a queue.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2313,9 +2099,9 @@ public Response deleteExceptionPolicyWithResponse(String exceptionPolicyId
      *     exceptionPolicyId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2350,34 +2136,18 @@ public Mono> upsertQueueWithResponseAsync(String queueId, B
 
     /**
      * Creates or updates a queue.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2390,9 +2160,9 @@ public Mono> upsertQueueWithResponseAsync(String queueId, B
      *     exceptionPolicyId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2426,9 +2196,8 @@ public Response upsertQueueWithResponse(String queueId, BinaryData r
 
     /**
      * Retrieves an existing queue by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2460,9 +2229,8 @@ public Mono> getQueueWithResponseAsync(String queueId, Requ
 
     /**
      * Retrieves an existing queue by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2493,28 +2261,15 @@ public Response getQueueWithResponse(String queueId, RequestOptions
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2548,28 +2303,15 @@ private Mono> listQueuesSinglePageAsync(RequestOptions
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2621,28 +2363,15 @@ public PagedFlux listQueuesAsync(RequestOptions requestOptions) {
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2674,28 +2403,15 @@ private PagedResponse listQueuesSinglePage(RequestOptions requestOpt
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2785,9 +2501,8 @@ public Response deleteQueueWithResponse(String queueId, RequestOptions req
      * Retrieves existing distribution policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2795,6 +2510,7 @@ public Response deleteQueueWithResponse(String queueId, RequestOptions req
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -2828,9 +2544,8 @@ private Mono> listDistributionPoliciesNextSinglePageAs
      * Retrieves existing distribution policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2838,6 +2553,7 @@ private Mono> listDistributionPoliciesNextSinglePageAs
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -2869,9 +2585,8 @@ private PagedResponse listDistributionPoliciesNextSinglePage(String
      * Retrieves existing classification policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2880,12 +2595,15 @@ private PagedResponse listDistributionPoliciesNextSinglePage(String
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -2917,9 +2635,8 @@ private Mono> listClassificationPoliciesNextSinglePage
      * Retrieves existing classification policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2928,12 +2645,15 @@ private Mono> listClassificationPoliciesNextSinglePage
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -2963,9 +2683,8 @@ private PagedResponse listClassificationPoliciesNextSinglePage(Strin
      * Retrieves existing exception policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2975,9 +2694,11 @@ private PagedResponse listClassificationPoliciesNextSinglePage(Strin
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -3011,9 +2732,8 @@ private Mono> listExceptionPoliciesNextSinglePageAsync
      * Retrieves existing exception policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -3023,9 +2743,11 @@ private Mono> listExceptionPoliciesNextSinglePageAsync
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -3058,9 +2780,8 @@ private PagedResponse listExceptionPoliciesNextSinglePage(String nex
      * Retrieves existing queues.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -3100,9 +2821,8 @@ private Mono> listQueuesNextSinglePageAsync(String nex
      * Retrieves existing queues.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterClientImpl.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterClientImpl.java
index f3d61933e837..0a51937a50ad 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterClientImpl.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterClientImpl.java
@@ -559,34 +559,18 @@ Response listWorkersNextSync(@PathParam(value = "nextLink", encoded
 
     /**
      * Creates or updates a router job.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -636,12 +620,13 @@ Response listWorkersNextSync(@PathParam(value = "nextLink", encoded
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -691,6 +676,7 @@ Response listWorkersNextSync(@PathParam(value = "nextLink", encoded
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -715,34 +701,18 @@ public Mono> upsertJobWithResponseAsync(String jobId, Binar /** * Creates or updates a router job. - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -792,12 +762,13 @@ public Mono> upsertJobWithResponseAsync(String jobId, Binar
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -847,6 +818,7 @@ public Mono> upsertJobWithResponseAsync(String jobId, Binar
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -871,9 +843,8 @@ public Response upsertJobWithResponse(String jobId, BinaryData resou /** * Retrieves an existing job by Id. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -923,6 +894,7 @@ public Response upsertJobWithResponse(String jobId, BinaryData resou
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -944,9 +916,8 @@ public Mono> getJobWithResponseAsync(String jobId, RequestO /** * Retrieves an existing job by Id. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -996,6 +967,7 @@ public Mono> getJobWithResponseAsync(String jobId, RequestO
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -1053,19 +1025,16 @@ public Response deleteJobWithResponse(String jobId, RequestOptions request /** * Reclassify a job. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -1092,19 +1061,16 @@ public Mono> reclassifyJobWithResponseAsync(String jobId, R /** * Reclassify a job. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -1130,21 +1096,19 @@ public Response reclassifyJobWithResponse(String jobId, RequestOptio /** * Submits request to cancel an existing job by Id while supplying free-form cancellation reason. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     note: String (Optional)
      *     dispositionCode: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -1171,21 +1135,19 @@ public Mono> cancelJobWithResponseAsync(String jobId, Reque /** * Submits request to cancel an existing job by Id while supplying free-form cancellation reason. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     note: String (Optional)
      *     dispositionCode: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -1211,20 +1173,18 @@ public Response cancelJobWithResponse(String jobId, RequestOptions r /** * Completes an assigned job. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     note: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -1253,20 +1213,18 @@ public Mono> completeJobWithResponseAsync(String jobId, Str /** * Completes an assigned job. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     note: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -1294,9 +1252,8 @@ public Response completeJobWithResponse(String jobId, String assignm /** * Closes a completed job. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     dispositionCode: String (Optional)
@@ -1304,12 +1261,11 @@ public Response completeJobWithResponse(String jobId, String assignm
      *     note: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -1337,9 +1293,8 @@ public Mono> closeJobWithResponseAsync(String jobId, String /** * Closes a completed job. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     dispositionCode: String (Optional)
@@ -1347,12 +1302,11 @@ public Mono> closeJobWithResponseAsync(String jobId, String
      *     note: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param jobId Id of a job. @@ -1379,67 +1333,26 @@ public Response closeJobWithResponse(String jobId, String assignment /** * Retrieves list of jobs based on filter parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", + * "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", + * "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by + * classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1489,6 +1402,7 @@ public Response closeJobWithResponse(String jobId, String assignment
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -1513,67 +1427,26 @@ private Mono> listJobsSinglePageAsync(RequestOptions r /** * Retrieves list of jobs based on filter parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", + * "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", + * "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by + * classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1623,6 +1496,7 @@ private Mono> listJobsSinglePageAsync(RequestOptions r
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -1665,67 +1539,26 @@ public PagedFlux listJobsAsync(RequestOptions requestOptions) { /** * Retrieves list of jobs based on filter parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", + * "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", + * "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by + * classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1775,6 +1608,7 @@ public PagedFlux listJobsAsync(RequestOptions requestOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -1797,67 +1631,26 @@ private PagedResponse listJobsSinglePage(RequestOptions requestOptio /** * Retrieves list of jobs based on filter parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", + * "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", + * "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by + * classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled + * at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -1907,6 +1700,7 @@ private PagedResponse listJobsSinglePage(RequestOptions requestOptio
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -1949,9 +1743,8 @@ public PagedIterable listJobs(RequestOptions requestOptions) { /** * Gets a job's position details. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     jobId: String (Required)
@@ -1979,9 +1772,8 @@ public Mono> getQueuePositionWithResponseAsync(String jobId
 
     /**
      * Gets a job's position details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     jobId: String (Required)
@@ -2009,17 +1801,16 @@ public Response getQueuePositionWithResponse(String jobId, RequestOp
 
     /**
      * Unassign a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     suspendMatching: Boolean (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     jobId: String (Required)
@@ -2053,17 +1844,16 @@ public Mono> unassignJobWithResponseAsync(String jobId, Str
 
     /**
      * Unassign a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     suspendMatching: Boolean (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     jobId: String (Required)
@@ -2096,9 +1886,8 @@ public Response unassignJobWithResponse(String jobId, String assignm
 
     /**
      * Accepts an offer to work on a job and returns a 409/Conflict if another agent accepted the job already.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     assignmentId: String (Required)
@@ -2127,9 +1916,8 @@ public Mono> acceptJobOfferWithResponseAsync(String workerI
 
     /**
      * Accepts an offer to work on a job and returns a 409/Conflict if another agent accepted the job already.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     assignmentId: String (Required)
@@ -2158,20 +1946,18 @@ public Response acceptJobOfferWithResponse(String workerId, String o
 
     /**
      * Declines an offer to work on a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     retryOfferAt: OffsetDateTime (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param workerId Id of a worker. @@ -2200,20 +1986,18 @@ public Mono> declineJobOfferWithResponseAsync(String worker /** * Declines an offer to work on a job. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     retryOfferAt: OffsetDateTime (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
-     * {
-     * }
+     * { }
      * }
* * @param workerId Id of a worker. @@ -2241,9 +2025,8 @@ public Response declineJobOfferWithResponse(String workerId, String /** * Retrieves a queue's statistics. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     queueId: String (Required)
@@ -2273,9 +2056,8 @@ public Mono> getQueueStatisticsWithResponseAsync(String que
 
     /**
      * Retrieves a queue's statistics.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     queueId: String (Required)
@@ -2304,34 +2086,18 @@ public Response getQueueStatisticsWithResponse(String queueId, Reque
 
     /**
      * Creates or updates a worker.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2376,9 +2142,9 @@ public Response getQueueStatisticsWithResponse(String queueId, Reque
      *     maxConcurrentOffers: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2444,34 +2210,18 @@ public Mono> upsertWorkerWithResponseAsync(String workerId,
 
     /**
      * Creates or updates a worker.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this + * string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the + * entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2516,9 +2266,9 @@ public Mono> upsertWorkerWithResponseAsync(String workerId,
      *     maxConcurrentOffers: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2584,9 +2334,8 @@ public Response upsertWorkerWithResponse(String workerId, BinaryData
 
     /**
      * Retrieves an existing worker by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2649,9 +2398,8 @@ public Mono> getWorkerWithResponseAsync(String workerId, Re
 
     /**
      * Retrieves an existing worker by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2750,54 +2498,24 @@ public Response deleteWorkerWithResponse(String workerId, RequestOptions r
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: + * "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration + * with this channel.
queueIdStringNoIf specified, select workers who are assigned to this + * queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for + * the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will + * return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2863,54 +2581,24 @@ private Mono> listWorkersSinglePageAsync(RequestOption
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: + * "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration + * with this channel.
queueIdStringNoIf specified, select workers who are assigned to this + * queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for + * the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will + * return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -2994,54 +2682,24 @@ public PagedFlux listWorkersAsync(RequestOptions requestOptions) {
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: + * "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration + * with this channel.
queueIdStringNoIf specified, select workers who are assigned to this + * queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for + * the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will + * return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -3105,54 +2763,24 @@ private PagedResponse listWorkersSinglePage(RequestOptions requestOp
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: + * "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration + * with this channel.
queueIdStringNoIf specified, select workers who are assigned to this + * queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for + * the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will + * return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -3238,9 +2866,8 @@ public PagedIterable listWorkers(RequestOptions requestOptions) {
      * Retrieves list of jobs based on filter parameters.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -3290,6 +2917,7 @@ public PagedIterable listWorkers(RequestOptions requestOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -3319,9 +2947,8 @@ private Mono> listJobsNextSinglePageAsync(String nextL * Retrieves list of jobs based on filter parameters. * * Get the next page of items. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -3371,6 +2998,7 @@ private Mono> listJobsNextSinglePageAsync(String nextL
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -3398,9 +3026,8 @@ private PagedResponse listJobsNextSinglePage(String nextLink, Reques * Retrieves existing workers. * * Get the next page of items. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
@@ -3472,9 +3099,8 @@ private Mono> listWorkersNextSinglePageAsync(String ne
      * Retrieves existing workers.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     etag: String (Required)
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/BestWorkerModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/BestWorkerModeInternal.java
index 7c401158a10b..6abb0b58b87a 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/BestWorkerModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/BestWorkerModeInternal.java
@@ -3,26 +3,25 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.DistributionModeKind;
 import com.azure.communication.jobrouter.models.ScoringRuleOptions;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Jobs are distributed to the worker with the strongest abilities available.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = BestWorkerModeInternal.class, visible = true)
 @JsonTypeName("bestWorker")
 @Fluent
 public final class BestWorkerModeInternal extends DistributionModeInternal {
 
     /*
-     * Define a scoring rule to use, when calculating a score to determine the best worker. If not set, will use a
-     * default scoring formula that uses the number of job labels that the worker labels match, as well as the number
-     * of label selectors the worker labels match and/or exceed using a logistic function
-     * (https://en.wikipedia.org/wiki/Logistic_function).
+     * Define a scoring rule to use, when calculating a score to determine the best worker. If not set, will use a default scoring formula that uses the number of job labels that the worker labels match, as well as the number of label selectors the worker labels match and/or exceed using a logistic function (https://en.wikipedia.org/wiki/Logistic_function).
      */
     @Generated
     @JsonProperty(value = "scoringRule")
@@ -121,4 +120,23 @@ public BestWorkerModeInternal setBypassSelectors(Boolean bypassSelectors) {
         super.setBypassSelectors(bypassSelectors);
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of DistributionMode.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private DistributionModeKind kind = DistributionModeKind.BEST_WORKER;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of DistributionMode.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public DistributionModeKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelExceptionActionInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelExceptionActionInternal.java
index f5145c61bbe7..68ed20b6260d 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelExceptionActionInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelExceptionActionInternal.java
@@ -6,13 +6,18 @@
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * An action that marks a job as cancelled.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = CancelExceptionActionInternal.class,
+    visible = true)
 @JsonTypeName("cancel")
 @Fluent
 public final class CancelExceptionActionInternal extends ExceptionActionInternal {
@@ -93,4 +98,23 @@ public CancelExceptionActionInternal setId(String id) {
         super.setId(id);
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of ExceptionAction.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private ExceptionActionKind kind = ExceptionActionKind.CANCEL;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of ExceptionAction.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public ExceptionActionKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelJobOptionsInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelJobOptionsInternal.java
index 1963aa9cb945..c122ac5912c3 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelJobOptionsInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelJobOptionsInternal.java
@@ -21,8 +21,7 @@ public final class CancelJobOptionsInternal {
     private String note;
 
     /*
-     * Indicates the outcome of a job, populate this field with your own custom values. If not provided, default value
-     * of "Cancelled" is set.
+     * Indicates the outcome of a job, populate this field with your own custom values. If not provided, default value of "Cancelled" is set.
      */
     @Generated
     @JsonProperty(value = "dispositionCode")
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ClassificationPolicyInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ClassificationPolicyInternal.java
index 28eca8431881..bd5853e046f9 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ClassificationPolicyInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ClassificationPolicyInternal.java
@@ -204,8 +204,7 @@ public ClassificationPolicyInternal setPrioritizationRule(RouterRuleInternal pri
     }
 
     /**
-     * Get the workerSelectorAttachments property: Worker selector attachments used to attach worker selectors to a
-     * job.
+     * Get the workerSelectorAttachments property: Worker selector attachments used to attach worker selectors to a job.
      *
      * @return the workerSelectorAttachments value.
      */
@@ -215,8 +214,7 @@ public List getWorkerSelectorAttachments() {
     }
 
     /**
-     * Set the workerSelectorAttachments property: Worker selector attachments used to attach worker selectors to a
-     * job.
+     * Set the workerSelectorAttachments property: Worker selector attachments used to attach worker selectors to a job.
      *
      * @param workerSelectorAttachments the workerSelectorAttachments value to set.
      * @return the ClassificationPolicyInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CloseJobOptionsInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CloseJobOptionsInternal.java
index 855d481e6a97..4d6c8034b633 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CloseJobOptionsInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CloseJobOptionsInternal.java
@@ -22,8 +22,7 @@ public final class CloseJobOptionsInternal {
     private String dispositionCode;
 
     /*
-     * If not provided, worker capacity is released immediately along with a JobClosedEvent notification. If provided,
-     * worker capacity is released along with a JobClosedEvent notification at a future time in UTC.
+     * If not provided, worker capacity is released immediately along with a JobClosedEvent notification. If provided, worker capacity is released along with a JobClosedEvent notification at a future time in UTC.
      */
     @Generated
     @JsonProperty(value = "closeAt")
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalQueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalQueueSelectorAttachmentInternal.java
index cfad9de0b64b..93dc88074254 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalQueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalQueueSelectorAttachmentInternal.java
@@ -3,10 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -14,7 +16,11 @@
 /**
  * Describes a set of queue selectors that will be attached if the given condition resolves to true.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ConditionalQueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("conditional")
 @Immutable
 public final class ConditionalQueueSelectorAttachmentInternal extends QueueSelectorAttachmentInternal {
@@ -24,14 +30,14 @@ public final class ConditionalQueueSelectorAttachmentInternal extends QueueSelec
      */
     @Generated
     @JsonProperty(value = "condition")
-    private RouterRuleInternal condition;
+    private final RouterRuleInternal condition;
 
     /*
      * The queue selectors to attach.
      */
     @Generated
     @JsonProperty(value = "queueSelectors")
-    private List queueSelectors;
+    private final List queueSelectors;
 
     /**
      * Creates an instance of ConditionalQueueSelectorAttachmentInternal class.
@@ -66,4 +72,23 @@ public RouterRuleInternal getCondition() {
     public List getQueueSelectors() {
         return this.queueSelectors;
     }
+
+    /*
+     * The type discriminator describing a sub-type of QueueSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private QueueSelectorAttachmentKind kind = QueueSelectorAttachmentKind.CONDITIONAL;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of QueueSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public QueueSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalWorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalWorkerSelectorAttachmentInternal.java
index 82963805f34e..352d41bc743e 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalWorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalWorkerSelectorAttachmentInternal.java
@@ -3,10 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -14,7 +16,11 @@
 /**
  * Describes a set of worker selectors that will be attached if the given condition resolves to true.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ConditionalWorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("conditional")
 @Immutable
 public final class ConditionalWorkerSelectorAttachmentInternal extends WorkerSelectorAttachmentInternal {
@@ -24,14 +30,14 @@ public final class ConditionalWorkerSelectorAttachmentInternal extends WorkerSel
      */
     @Generated
     @JsonProperty(value = "condition")
-    private RouterRuleInternal condition;
+    private final RouterRuleInternal condition;
 
     /*
      * The worker selectors to attach.
      */
     @Generated
     @JsonProperty(value = "workerSelectors")
-    private List workerSelectors;
+    private final List workerSelectors;
 
     /**
      * Creates an instance of ConditionalWorkerSelectorAttachmentInternal class.
@@ -66,4 +72,23 @@ public RouterRuleInternal getCondition() {
     public List getWorkerSelectors() {
         return this.workerSelectors;
     }
+
+    /*
+     * The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private WorkerSelectorAttachmentKind kind = WorkerSelectorAttachmentKind.CONDITIONAL;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public WorkerSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DeclineJobOfferOptionsInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DeclineJobOfferOptionsInternal.java
index f8cc38a94d0e..4d16e0527533 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DeclineJobOfferOptionsInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DeclineJobOfferOptionsInternal.java
@@ -15,10 +15,7 @@
 public final class DeclineJobOfferOptionsInternal {
 
     /*
-     * If the RetryOfferAt is not provided, then this job will not be offered again to the worker who declined this job
-     * unless the worker is de-registered and re-registered. If a RetryOfferAt time is provided, then the job will be
-     * re-matched to eligible workers at the retry time in UTC. The worker that declined the job will also be eligible
-     * for the job at that time.
+     * If the RetryOfferAt is not provided, then this job will not be offered again to the worker who declined this job unless the worker is de-registered and re-registered.  If a RetryOfferAt time is provided, then the job will be re-matched to eligible workers at the retry time in UTC.  The worker that declined the job will also be eligible for the job at that time.
      */
     @Generated
     @JsonProperty(value = "retryOfferAt")
@@ -33,9 +30,9 @@ public DeclineJobOfferOptionsInternal() {
 
     /**
      * Get the retryOfferAt property: If the RetryOfferAt is not provided, then this job will not be offered again to
-     * the worker who declined this job unless the worker is de-registered and re-registered. If a RetryOfferAt time
-     * is provided, then the job will be re-matched to eligible workers at the retry time in UTC. The worker that
-     * declined the job will also be eligible for the job at that time.
+     * the worker who declined this job unless the worker is de-registered and re-registered. If a RetryOfferAt time is
+     * provided, then the job will be re-matched to eligible workers at the retry time in UTC. The worker that declined
+     * the job will also be eligible for the job at that time.
      *
      * @return the retryOfferAt value.
      */
@@ -46,9 +43,9 @@ public OffsetDateTime getRetryOfferAt() {
 
     /**
      * Set the retryOfferAt property: If the RetryOfferAt is not provided, then this job will not be offered again to
-     * the worker who declined this job unless the worker is de-registered and re-registered. If a RetryOfferAt time
-     * is provided, then the job will be re-matched to eligible workers at the retry time in UTC. The worker that
-     * declined the job will also be eligible for the job at that time.
+     * the worker who declined this job unless the worker is de-registered and re-registered. If a RetryOfferAt time is
+     * provided, then the job will be re-matched to eligible workers at the retry time in UTC. The worker that declined
+     * the job will also be eligible for the job at that time.
      *
      * @param retryOfferAt the retryOfferAt value to set.
      * @return the DeclineJobOfferOptionsInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DirectMapRouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DirectMapRouterRuleInternal.java
index 50cae711144b..a01b9990aed8 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DirectMapRouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DirectMapRouterRuleInternal.java
@@ -3,15 +3,22 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * A rule that return the same labels as the input labels.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = DirectMapRouterRuleInternal.class,
+    visible = true)
 @JsonTypeName("directMap")
 @Immutable
 public final class DirectMapRouterRuleInternal extends RouterRuleInternal {
@@ -22,4 +29,23 @@ public final class DirectMapRouterRuleInternal extends RouterRuleInternal {
     @Generated
     public DirectMapRouterRuleInternal() {
     }
+
+    /*
+     * The type discriminator describing a sub-type of RouterRule
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RouterRuleKind kind = RouterRuleKind.DIRECT_MAP;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of RouterRule.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RouterRuleKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionModeInternal.java
index d1202eaa5f32..30aea2751751 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionModeInternal.java
@@ -3,10 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.DistributionModeKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -15,9 +17,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = DistributionModeInternal.class)
+    defaultImpl = DistributionModeInternal.class,
+    visible = true)
 @JsonTypeName("DistributionModeInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "bestWorker", value = BestWorkerModeInternal.class),
@@ -41,9 +43,7 @@ public class DistributionModeInternal {
     private Integer maxConcurrentOffers;
 
     /*
-     * If set to true, then router will match workers to jobs even if they don't match label selectors. Warning: You
-     * may get workers that are not qualified for a job they are matched with if you set this variable to true. This
-     * flag is intended more for temporary usage. By default, set to false.
+     * If set to true, then router will match workers to jobs even if they don't match label selectors. Warning: You may get workers that are not qualified for a job they are matched with if you set this variable to true. This flag is intended more for temporary usage. By default, set to false.
      */
     @Generated
     @JsonProperty(value = "bypassSelectors")
@@ -54,6 +54,7 @@ public class DistributionModeInternal {
      */
     @Generated
     public DistributionModeInternal() {
+        this.kind = DistributionModeKind.fromString("DistributionModeInternal");
     }
 
     /**
@@ -103,9 +104,9 @@ public DistributionModeInternal setMaxConcurrentOffers(Integer maxConcurrentOffe
     }
 
     /**
-     * Get the bypassSelectors property: If set to true, then router will match workers to jobs even if they don't
-     * match label selectors. Warning: You may get workers that are not qualified for a job they are matched with if
-     * you set this variable to true. This flag is intended more for temporary usage. By default, set to false.
+     * Get the bypassSelectors property: If set to true, then router will match workers to jobs even if they don't match
+     * label selectors. Warning: You may get workers that are not qualified for a job they are matched with if you set
+     * this variable to true. This flag is intended more for temporary usage. By default, set to false.
      *
      * @return the bypassSelectors value.
      */
@@ -115,9 +116,9 @@ public Boolean isBypassSelectors() {
     }
 
     /**
-     * Set the bypassSelectors property: If set to true, then router will match workers to jobs even if they don't
-     * match label selectors. Warning: You may get workers that are not qualified for a job they are matched with if
-     * you set this variable to true. This flag is intended more for temporary usage. By default, set to false.
+     * Set the bypassSelectors property: If set to true, then router will match workers to jobs even if they don't match
+     * label selectors. Warning: You may get workers that are not qualified for a job they are matched with if you set
+     * this variable to true. This flag is intended more for temporary usage. By default, set to false.
      *
      * @param bypassSelectors the bypassSelectors value to set.
      * @return the DistributionModeInternal object itself.
@@ -127,4 +128,22 @@ public DistributionModeInternal setBypassSelectors(Boolean bypassSelectors) {
         this.bypassSelectors = bypassSelectors;
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of DistributionMode.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private DistributionModeKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of DistributionMode.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public DistributionModeKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionInternal.java
index d98350ca93de..734b3d4c202c 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionInternal.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -15,9 +16,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = ExceptionActionInternal.class)
+    defaultImpl = ExceptionActionInternal.class,
+    visible = true)
 @JsonTypeName("ExceptionActionInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "cancel", value = CancelExceptionActionInternal.class),
@@ -38,6 +39,7 @@ public class ExceptionActionInternal {
      */
     @Generated
     public ExceptionActionInternal() {
+        this.kind = ExceptionActionKind.fromString("ExceptionActionInternal");
     }
 
     /**
@@ -61,4 +63,22 @@ public ExceptionActionInternal setId(String id) {
         this.id = id;
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of ExceptionAction.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private ExceptionActionKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of ExceptionAction.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public ExceptionActionKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionKind.java
new file mode 100644
index 000000000000..47a13f16c0b2
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionKind.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.implementation.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported exception action types.
+ */
+public final class ExceptionActionKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for CancelExceptionAction.
+     */
+    @Generated
+    public static final ExceptionActionKind CANCEL = fromString("cancel");
+
+    /**
+     * Discriminator value for ManualReclassifyExceptionAction.
+     */
+    @Generated
+    public static final ExceptionActionKind MANUAL_RECLASSIFY = fromString("manualReclassify");
+
+    /**
+     * Discriminator value for ReclassifyExceptionAction.
+     */
+    @Generated
+    public static final ExceptionActionKind RECLASSIFY = fromString("reclassify");
+
+    /**
+     * Creates a new instance of ExceptionActionKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public ExceptionActionKind() {
+    }
+
+    /**
+     * Creates or finds a ExceptionActionKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding ExceptionActionKind.
+     */
+    @Generated
+    @JsonCreator
+    public static ExceptionActionKind fromString(String name) {
+        return fromString(name, ExceptionActionKind.class);
+    }
+
+    /**
+     * Gets known ExceptionActionKind values.
+     *
+     * @return known ExceptionActionKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(ExceptionActionKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionRuleInternal.java
index ba0655832367..35237c9c1bc0 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionRuleInternal.java
@@ -20,21 +20,21 @@ public final class ExceptionRuleInternal {
      */
     @Generated
     @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * The trigger for this exception rule.
      */
     @Generated
     @JsonProperty(value = "trigger")
-    private ExceptionTriggerInternal trigger;
+    private final ExceptionTriggerInternal trigger;
 
     /*
      * A collection of actions to perform once the exception is triggered.
      */
     @Generated
     @JsonProperty(value = "actions")
-    private List actions;
+    private final List actions;
 
     /**
      * Creates an instance of ExceptionRuleInternal class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerInternal.java
index d214de70303e..c6fc150227a9 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerInternal.java
@@ -5,7 +5,9 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -14,9 +16,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = ExceptionTriggerInternal.class)
+    defaultImpl = ExceptionTriggerInternal.class,
+    visible = true)
 @JsonTypeName("ExceptionTriggerInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "queueLength", value = QueueLengthExceptionTriggerInternal.class),
@@ -29,5 +31,24 @@ public class ExceptionTriggerInternal {
      */
     @Generated
     public ExceptionTriggerInternal() {
+        this.kind = ExceptionTriggerKind.fromString("ExceptionTriggerInternal");
+    }
+
+    /*
+     * The type discriminator describing a sub-type of ExceptionTrigger.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private ExceptionTriggerKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of ExceptionTrigger.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public ExceptionTriggerKind getKind() {
+        return this.kind;
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerKind.java
new file mode 100644
index 000000000000..3950bcd96c14
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerKind.java
@@ -0,0 +1,59 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.implementation.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported exception trigger types.
+ */
+public final class ExceptionTriggerKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for QueueLengthExceptionTrigger.
+     */
+    @Generated
+    public static final ExceptionTriggerKind QUEUE_LENGTH = fromString("queueLength");
+
+    /**
+     * Discriminator value for WaitTimeExceptionTrigger.
+     */
+    @Generated
+    public static final ExceptionTriggerKind WAIT_TIME = fromString("waitTime");
+
+    /**
+     * Creates a new instance of ExceptionTriggerKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public ExceptionTriggerKind() {
+    }
+
+    /**
+     * Creates or finds a ExceptionTriggerKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding ExceptionTriggerKind.
+     */
+    @Generated
+    @JsonCreator
+    public static ExceptionTriggerKind fromString(String name) {
+        return fromString(name, ExceptionTriggerKind.class);
+    }
+
+    /**
+     * Gets known ExceptionTriggerKind values.
+     *
+     * @return known ExceptionTriggerKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(ExceptionTriggerKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExpressionRouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExpressionRouterRuleInternal.java
index bdf81ae4a914..bb708baa7243 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExpressionRouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExpressionRouterRuleInternal.java
@@ -4,17 +4,23 @@
 package com.azure.communication.jobrouter.implementation.models;
 
 import com.azure.communication.jobrouter.models.ExpressionRouterRuleLanguage;
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * A rule providing inline expression rules.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ExpressionRouterRuleInternal.class,
+    visible = true)
 @JsonTypeName("expression")
 @Fluent
 public final class ExpressionRouterRuleInternal extends RouterRuleInternal {
@@ -31,7 +37,7 @@ public final class ExpressionRouterRuleInternal extends RouterRuleInternal {
      */
     @Generated
     @JsonProperty(value = "expression")
-    private String expression;
+    private final String expression;
 
     /**
      * Creates an instance of ExpressionRouterRuleInternal class.
@@ -75,4 +81,23 @@ public ExpressionRouterRuleInternal setLanguage(ExpressionRouterRuleLanguage lan
     public String getExpression() {
         return this.expression;
     }
+
+    /*
+     * The type discriminator describing a sub-type of RouterRule
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RouterRuleKind kind = RouterRuleKind.EXPRESSION;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of RouterRule.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RouterRuleKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/FunctionRouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/FunctionRouterRuleInternal.java
index 6d0908fdf80d..00f7fb13748e 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/FunctionRouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/FunctionRouterRuleInternal.java
@@ -4,17 +4,23 @@
 package com.azure.communication.jobrouter.implementation.models;
 
 import com.azure.communication.jobrouter.models.FunctionRouterRuleCredential;
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * A rule providing a binding to an HTTP Triggered Azure Function.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = FunctionRouterRuleInternal.class,
+    visible = true)
 @JsonTypeName("function")
 @Fluent
 public final class FunctionRouterRuleInternal extends RouterRuleInternal {
@@ -24,7 +30,7 @@ public final class FunctionRouterRuleInternal extends RouterRuleInternal {
      */
     @Generated
     @JsonProperty(value = "functionUri")
-    private String functionUri;
+    private final String functionUri;
 
     /*
      * Credentials used to access Azure function rule.
@@ -75,4 +81,23 @@ public FunctionRouterRuleInternal setCredential(FunctionRouterRuleCredential cre
         this.credential = credential;
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of RouterRule
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RouterRuleKind kind = RouterRuleKind.FUNCTION;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of RouterRule.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RouterRuleKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/JobMatchingModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/JobMatchingModeInternal.java
index 6de389a113f3..08429fe6077b 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/JobMatchingModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/JobMatchingModeInternal.java
@@ -3,9 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.JobMatchingModeKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -18,9 +21,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = JobMatchingModeInternal.class)
+    defaultImpl = JobMatchingModeInternal.class,
+    visible = true)
 @JsonTypeName("JobMatchingModeInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "scheduleAndSuspend", value = ScheduleAndSuspendModeInternal.class),
@@ -34,5 +37,24 @@ public class JobMatchingModeInternal {
      */
     @Generated
     public JobMatchingModeInternal() {
+        this.kind = JobMatchingModeKind.fromString("JobMatchingModeInternal");
+    }
+
+    /*
+     * The type discriminator describing a sub-type of JobMatchingMode.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private JobMatchingModeKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of JobMatchingMode.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public JobMatchingModeKind getKind() {
+        return this.kind;
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/LongestIdleModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/LongestIdleModeInternal.java
index 08175542f1fa..e1415429dad1 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/LongestIdleModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/LongestIdleModeInternal.java
@@ -3,15 +3,22 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.DistributionModeKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Jobs are directed to the worker who has been idle longest.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = LongestIdleModeInternal.class,
+    visible = true)
 @JsonTypeName("longestIdle")
 @Fluent
 public final class LongestIdleModeInternal extends DistributionModeInternal {
@@ -52,4 +59,23 @@ public LongestIdleModeInternal setBypassSelectors(Boolean bypassSelectors) {
         super.setBypassSelectors(bypassSelectors);
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of DistributionMode.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private DistributionModeKind kind = DistributionModeKind.LONGEST_IDLE;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of DistributionMode.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public DistributionModeKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ManualReclassifyExceptionActionInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ManualReclassifyExceptionActionInternal.java
index f19b7740d7b7..b45e48ed8fa2 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ManualReclassifyExceptionActionInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ManualReclassifyExceptionActionInternal.java
@@ -6,6 +6,7 @@
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -13,7 +14,11 @@
 /**
  * An action that manually reclassifies a job by providing the queue, priority and worker selectors.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ManualReclassifyExceptionActionInternal.class,
+    visible = true)
 @JsonTypeName("manualReclassify")
 @Fluent
 public final class ManualReclassifyExceptionActionInternal extends ExceptionActionInternal {
@@ -122,4 +127,23 @@ public ManualReclassifyExceptionActionInternal setId(String id) {
         super.setId(id);
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of ExceptionAction.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private ExceptionActionKind kind = ExceptionActionKind.MANUAL_RECLASSIFY;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of ExceptionAction.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public ExceptionActionKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughQueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughQueueSelectorAttachmentInternal.java
index 27cea4455e99..b85b07206553 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughQueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughQueueSelectorAttachmentInternal.java
@@ -4,17 +4,23 @@
 package com.azure.communication.jobrouter.implementation.models;
 
 import com.azure.communication.jobrouter.models.LabelOperator;
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Attaches a queue selector where the value is passed through from a job's label with the same key.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = PassThroughQueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("passThrough")
 @Immutable
 public final class PassThroughQueueSelectorAttachmentInternal extends QueueSelectorAttachmentInternal {
@@ -24,14 +30,14 @@ public final class PassThroughQueueSelectorAttachmentInternal extends QueueSelec
      */
     @Generated
     @JsonProperty(value = "key")
-    private String key;
+    private final String key;
 
     /*
      * Describes how the value of the label is compared to the value pass through.
      */
     @Generated
     @JsonProperty(value = "labelOperator")
-    private LabelOperator labelOperator;
+    private final LabelOperator labelOperator;
 
     /**
      * Creates an instance of PassThroughQueueSelectorAttachmentInternal class.
@@ -66,4 +72,23 @@ public String getKey() {
     public LabelOperator getLabelOperator() {
         return this.labelOperator;
     }
+
+    /*
+     * The type discriminator describing a sub-type of QueueSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private QueueSelectorAttachmentKind kind = QueueSelectorAttachmentKind.PASS_THROUGH;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of QueueSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public QueueSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughWorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughWorkerSelectorAttachmentInternal.java
index 28070824d00d..ea5d5c403f19 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughWorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughWorkerSelectorAttachmentInternal.java
@@ -4,17 +4,23 @@
 package com.azure.communication.jobrouter.implementation.models;
 
 import com.azure.communication.jobrouter.models.LabelOperator;
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Attaches a worker selector where the value is passed through from a job's label with the same key.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = PassThroughWorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("passThrough")
 @Fluent
 public final class PassThroughWorkerSelectorAttachmentInternal extends WorkerSelectorAttachmentInternal {
@@ -24,14 +30,14 @@ public final class PassThroughWorkerSelectorAttachmentInternal extends WorkerSel
      */
     @Generated
     @JsonProperty(value = "key")
-    private String key;
+    private final String key;
 
     /*
      * Describes how the value of the label is compared to the value pass through.
      */
     @Generated
     @JsonProperty(value = "labelOperator")
-    private LabelOperator labelOperator;
+    private final LabelOperator labelOperator;
 
     /*
      * Describes how long the attached label selector is valid in seconds.
@@ -95,4 +101,23 @@ public PassThroughWorkerSelectorAttachmentInternal setExpiresAfterSeconds(Double
         this.expiresAfterSeconds = expiresAfterSeconds;
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private WorkerSelectorAttachmentKind kind = WorkerSelectorAttachmentKind.PASS_THROUGH;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public WorkerSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueAndMatchModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueAndMatchModeInternal.java
index 8f71ae9e1cde..08f442317836 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueAndMatchModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueAndMatchModeInternal.java
@@ -3,15 +3,22 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.JobMatchingModeKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Describes a matching mode where matching worker to a job is automatically started after job is queued successfully.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = QueueAndMatchModeInternal.class,
+    visible = true)
 @JsonTypeName("queueAndMatch")
 @Immutable
 public final class QueueAndMatchModeInternal extends JobMatchingModeInternal {
@@ -22,4 +29,23 @@ public final class QueueAndMatchModeInternal extends JobMatchingModeInternal {
     @Generated
     public QueueAndMatchModeInternal() {
     }
+
+    /*
+     * The type discriminator describing a sub-type of JobMatchingMode.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private JobMatchingModeKind kind = JobMatchingModeKind.QUEUE_AND_MATCH;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of JobMatchingMode.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public JobMatchingModeKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueLengthExceptionTriggerInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueLengthExceptionTriggerInternal.java
index 9493da70910e..2542c3505f73 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueLengthExceptionTriggerInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueLengthExceptionTriggerInternal.java
@@ -7,13 +7,18 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Trigger for an exception action on exceeding queue length.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = QueueLengthExceptionTriggerInternal.class,
+    visible = true)
 @JsonTypeName("queueLength")
 @Immutable
 public final class QueueLengthExceptionTriggerInternal extends ExceptionTriggerInternal {
@@ -23,7 +28,7 @@ public final class QueueLengthExceptionTriggerInternal extends ExceptionTriggerI
      */
     @Generated
     @JsonProperty(value = "threshold")
-    private int threshold;
+    private final int threshold;
 
     /**
      * Creates an instance of QueueLengthExceptionTriggerInternal class.
@@ -45,4 +50,23 @@ public QueueLengthExceptionTriggerInternal(@JsonProperty(value = "threshold") in
     public int getThreshold() {
         return this.threshold;
     }
+
+    /*
+     * The type discriminator describing a sub-type of ExceptionTrigger.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private ExceptionTriggerKind kind = ExceptionTriggerKind.QUEUE_LENGTH;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of ExceptionTrigger.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public ExceptionTriggerKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueSelectorAttachmentInternal.java
index 740b2c0773a4..8dfdc793fe53 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueSelectorAttachmentInternal.java
@@ -3,9 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -14,9 +17,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = QueueSelectorAttachmentInternal.class)
+    defaultImpl = QueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("QueueSelectorAttachmentInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "conditional", value = ConditionalQueueSelectorAttachmentInternal.class),
@@ -32,5 +35,24 @@ public class QueueSelectorAttachmentInternal {
      */
     @Generated
     public QueueSelectorAttachmentInternal() {
+        this.kind = QueueSelectorAttachmentKind.fromString("QueueSelectorAttachmentInternal");
+    }
+
+    /*
+     * The type discriminator describing a sub-type of QueueSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private QueueSelectorAttachmentKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of QueueSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public QueueSelectorAttachmentKind getKind() {
+        return this.kind;
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueWeightedAllocationInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueWeightedAllocationInternal.java
index 66c5aa43fd45..a2f896a34057 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueWeightedAllocationInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueWeightedAllocationInternal.java
@@ -20,14 +20,14 @@ public final class QueueWeightedAllocationInternal {
      */
     @Generated
     @JsonProperty(value = "weight")
-    private double weight;
+    private final double weight;
 
     /*
      * A collection of queue selectors that will be applied if this allocation is selected.
      */
     @Generated
     @JsonProperty(value = "queueSelectors")
-    private List queueSelectors;
+    private final List queueSelectors;
 
     /**
      * Creates an instance of QueueWeightedAllocationInternal class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ReclassifyExceptionActionInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ReclassifyExceptionActionInternal.java
index d4e9ea103903..d8de89610d1a 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ReclassifyExceptionActionInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ReclassifyExceptionActionInternal.java
@@ -6,6 +6,7 @@
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.Map;
@@ -13,7 +14,11 @@
 /**
  * An action that modifies labels on a job and then reclassifies it.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ReclassifyExceptionActionInternal.class,
+    visible = true)
 @JsonTypeName("reclassify")
 @Fluent
 public final class ReclassifyExceptionActionInternal extends ExceptionActionInternal {
@@ -26,8 +31,7 @@ public final class ReclassifyExceptionActionInternal extends ExceptionActionInte
     private String classificationPolicyId;
 
     /*
-     * Dictionary containing the labels to update (or add if not existing) in key-value pairs. Values must be
-     * primitive values - number, string, boolean.
+     * Dictionary containing the labels to update (or add if not existing) in key-value pairs.  Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "labelsToUpsert")
@@ -65,8 +69,8 @@ public ReclassifyExceptionActionInternal setClassificationPolicyId(String classi
     }
 
     /**
-     * Get the labelsToUpsert property: Dictionary containing the labels to update (or add if not existing) in
-     * key-value pairs. Values must be primitive values - number, string, boolean.
+     * Get the labelsToUpsert property: Dictionary containing the labels to update (or add if not existing) in key-value
+     * pairs. Values must be primitive values - number, string, boolean.
      *
      * @return the labelsToUpsert value.
      */
@@ -76,8 +80,8 @@ public Map getLabelsToUpsert() {
     }
 
     /**
-     * Set the labelsToUpsert property: Dictionary containing the labels to update (or add if not existing) in
-     * key-value pairs. Values must be primitive values - number, string, boolean.
+     * Set the labelsToUpsert property: Dictionary containing the labels to update (or add if not existing) in key-value
+     * pairs. Values must be primitive values - number, string, boolean.
      *
      * @param labelsToUpsert the labelsToUpsert value to set.
      * @return the ReclassifyExceptionActionInternal object itself.
@@ -97,4 +101,23 @@ public ReclassifyExceptionActionInternal setId(String id) {
         super.setId(id);
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of ExceptionAction.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private ExceptionActionKind kind = ExceptionActionKind.RECLASSIFY;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of ExceptionAction.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public ExceptionActionKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RoundRobinModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RoundRobinModeInternal.java
index 8f7ce8e1b9cc..b504f3f3c1c8 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RoundRobinModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RoundRobinModeInternal.java
@@ -3,15 +3,18 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.DistributionModeKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Jobs are distributed in order to workers, starting with the worker that is after the last worker to receive a job.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = RoundRobinModeInternal.class, visible = true)
 @JsonTypeName("roundRobin")
 @Fluent
 public final class RoundRobinModeInternal extends DistributionModeInternal {
@@ -52,4 +55,23 @@ public RoundRobinModeInternal setBypassSelectors(Boolean bypassSelectors) {
         super.setBypassSelectors(bypassSelectors);
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of DistributionMode.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private DistributionModeKind kind = DistributionModeKind.ROUND_ROBIN;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of DistributionMode.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public DistributionModeKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterJobInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterJobInternal.java
index ba6fbadf6d93..b9ca3f53ec46 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterJobInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterJobInternal.java
@@ -76,7 +76,7 @@ public final class RouterJobInternal {
     private String queueId;
 
     /*
-     * Priority of this job.
+     * Priority of this job. Value must be between -100 to 100.
      */
     @Generated
     @JsonProperty(value = "priority")
@@ -97,16 +97,14 @@ public final class RouterJobInternal {
     private List requestedWorkerSelectors;
 
     /*
-     * A collection of worker selectors attached by a classification policy, which a worker must satisfy in order to
-     * process this job.
+     * A collection of worker selectors attached by a classification policy, which a worker must satisfy in order to process this job.
      */
     @Generated
     @JsonProperty(value = "attachedWorkerSelectors", access = JsonProperty.Access.WRITE_ONLY)
     private List attachedWorkerSelectors;
 
     /*
-     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values
-     * must be primitive values - number, string, boolean.
+     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "labels")
@@ -120,8 +118,7 @@ public final class RouterJobInternal {
     private Map assignments;
 
     /*
-     * A set of non-identifying attributes attached to this job. Values must be primitive values - number, string,
-     * boolean.
+     * A set of non-identifying attributes attached to this job. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "tags")
@@ -284,7 +281,7 @@ public RouterJobInternal setQueueId(String queueId) {
     }
 
     /**
-     * Get the priority property: Priority of this job.
+     * Get the priority property: Priority of this job. Value must be between -100 to 100.
      *
      * @return the priority value.
      */
@@ -294,7 +291,7 @@ public Integer getPriority() {
     }
 
     /**
-     * Set the priority property: Priority of this job.
+     * Set the priority property: Priority of this job. Value must be between -100 to 100.
      *
      * @param priority the priority value to set.
      * @return the RouterJobInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueInternal.java
index 285a63243a05..397f48ee1ee6 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueInternal.java
@@ -43,8 +43,7 @@ public final class RouterQueueInternal {
     private String distributionPolicyId;
 
     /*
-     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values
-     * must be primitive values - number, string, boolean.
+     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "labels")
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueSelectorInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueSelectorInternal.java
index 316fd330b259..c6d86f3c8ee6 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueSelectorInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueSelectorInternal.java
@@ -20,18 +20,17 @@ public final class RouterQueueSelectorInternal {
      */
     @Generated
     @JsonProperty(value = "key")
-    private String key;
+    private final String key;
 
     /*
      * Describes how the value of the label is compared to the value defined on the label selector.
      */
     @Generated
     @JsonProperty(value = "labelOperator")
-    private LabelOperator labelOperator;
+    private final LabelOperator labelOperator;
 
     /*
-     * The value to compare against the actual label value with the given operator. Values must be primitive values -
-     * number, string, boolean.
+     * The value to compare against the actual label value with the given operator. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "value")
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueStatisticsInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueStatisticsInternal.java
index e123d397a918..886339edb1f0 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueStatisticsInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueStatisticsInternal.java
@@ -20,14 +20,14 @@ public final class RouterQueueStatisticsInternal {
      */
     @Generated
     @JsonProperty(value = "queueId")
-    private String queueId;
+    private final String queueId;
 
     /*
      * Length of the queue: total number of enqueued jobs.
      */
     @Generated
     @JsonProperty(value = "length")
-    private int length;
+    private final int length;
 
     /*
      * The estimated wait time of this queue rounded up to the nearest minute, grouped by job priority.
@@ -89,8 +89,8 @@ public Map getEstimatedWaitTimeMinutes() {
     }
 
     /**
-     * Get the longestJobWaitTimeMinutes property: The wait time of the job that has been enqueued in this queue for
-     * the longest.
+     * Get the longestJobWaitTimeMinutes property: The wait time of the job that has been enqueued in this queue for the
+     * longest.
      *
      * @return the longestJobWaitTimeMinutes value.
      */
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterRuleInternal.java
index 063a26041e4a..03654ade4a30 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterRuleInternal.java
@@ -3,9 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -17,11 +20,7 @@
  * FunctionRule: A rule providing a binding to an HTTP Triggered Azure Function.
  * WebhookRule: A rule providing a binding to a webserver following OAuth2.0 authentication protocol.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "kind",
-    defaultImpl = RouterRuleInternal.class)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = RouterRuleInternal.class, visible = true)
 @JsonTypeName("RouterRuleInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "directMap", value = DirectMapRouterRuleInternal.class),
@@ -37,5 +36,24 @@ public class RouterRuleInternal {
      */
     @Generated
     public RouterRuleInternal() {
+        this.kind = RouterRuleKind.fromString("RouterRuleInternal");
+    }
+
+    /*
+     * The type discriminator describing a sub-type of RouterRule
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RouterRuleKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of RouterRule.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public RouterRuleKind getKind() {
+        return this.kind;
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerInternal.java
index b76f1a651f1a..e970e519ec9b 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerInternal.java
@@ -55,16 +55,14 @@ public final class RouterWorkerInternal {
     private Integer capacity;
 
     /*
-     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values
-     * must be primitive values - number, string, boolean.
+     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "labels")
     private Map labels;
 
     /*
-     * A set of non-identifying attributes attached to this worker. Values must be primitive values - number, string,
-     * boolean.
+     * A set of non-identifying attributes attached to this worker. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "tags")
@@ -92,8 +90,7 @@ public final class RouterWorkerInternal {
     private List assignedJobs;
 
     /*
-     * A value indicating the workers capacity. A value of '1' means all capacity is consumed. A value of '0' means no
-     * capacity is currently consumed.
+     * A value indicating the workers capacity. A value of '1' means all capacity is consumed. A value of '0' means no capacity is currently consumed.
      */
     @Generated
     @JsonProperty(value = "loadRatio", access = JsonProperty.Access.WRITE_ONLY)
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerSelectorInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerSelectorInternal.java
index 0a6474065d6e..b66e3b580f53 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerSelectorInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerSelectorInternal.java
@@ -22,18 +22,17 @@ public final class RouterWorkerSelectorInternal {
      */
     @Generated
     @JsonProperty(value = "key")
-    private String key;
+    private final String key;
 
     /*
      * Describes how the value of the label is compared to the value defined on the worker selector.
      */
     @Generated
     @JsonProperty(value = "labelOperator")
-    private LabelOperator labelOperator;
+    private final LabelOperator labelOperator;
 
     /*
-     * The value to compare against the actual label value with the given operator. Values must be primitive values -
-     * number, string, boolean.
+     * The value to compare against the actual label value with the given operator. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "value")
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineQueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineQueueSelectorAttachmentInternal.java
index 2b307b4e9e49..30d962ef5919 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineQueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineQueueSelectorAttachmentInternal.java
@@ -3,17 +3,23 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Attaches queue selectors to a job when the RouterRule is resolved.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = RuleEngineQueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("ruleEngine")
 @Immutable
 public final class RuleEngineQueueSelectorAttachmentInternal extends QueueSelectorAttachmentInternal {
@@ -23,7 +29,7 @@ public final class RuleEngineQueueSelectorAttachmentInternal extends QueueSelect
      */
     @Generated
     @JsonProperty(value = "rule")
-    private RouterRuleInternal rule;
+    private final RouterRuleInternal rule;
 
     /**
      * Creates an instance of RuleEngineQueueSelectorAttachmentInternal class.
@@ -45,4 +51,23 @@ public RuleEngineQueueSelectorAttachmentInternal(@JsonProperty(value = "rule") R
     public RouterRuleInternal getRule() {
         return this.rule;
     }
+
+    /*
+     * The type discriminator describing a sub-type of QueueSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private QueueSelectorAttachmentKind kind = QueueSelectorAttachmentKind.RULE_ENGINE;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of QueueSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public QueueSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineWorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineWorkerSelectorAttachmentInternal.java
index 562633495c8e..d2feadd06943 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineWorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineWorkerSelectorAttachmentInternal.java
@@ -3,17 +3,23 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Attaches worker selectors to a job when a RouterRule is resolved.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = RuleEngineWorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("ruleEngine")
 @Immutable
 public final class RuleEngineWorkerSelectorAttachmentInternal extends WorkerSelectorAttachmentInternal {
@@ -23,7 +29,7 @@ public final class RuleEngineWorkerSelectorAttachmentInternal extends WorkerSele
      */
     @Generated
     @JsonProperty(value = "rule")
-    private RouterRuleInternal rule;
+    private final RouterRuleInternal rule;
 
     /**
      * Creates an instance of RuleEngineWorkerSelectorAttachmentInternal class.
@@ -45,4 +51,23 @@ public RuleEngineWorkerSelectorAttachmentInternal(@JsonProperty(value = "rule")
     public RouterRuleInternal getRule() {
         return this.rule;
     }
+
+    /*
+     * The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private WorkerSelectorAttachmentKind kind = WorkerSelectorAttachmentKind.RULE_ENGINE;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public WorkerSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ScheduleAndSuspendModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ScheduleAndSuspendModeInternal.java
index e85631ffb446..1d986738174e 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ScheduleAndSuspendModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ScheduleAndSuspendModeInternal.java
@@ -3,10 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.JobMatchingModeKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.time.OffsetDateTime;
@@ -15,7 +17,11 @@
  * Describes a matching mode used for scheduling jobs to be queued at a future time. At the specified time, matching
  * worker to a job will not start automatically.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ScheduleAndSuspendModeInternal.class,
+    visible = true)
 @JsonTypeName("scheduleAndSuspend")
 @Immutable
 public final class ScheduleAndSuspendModeInternal extends JobMatchingModeInternal {
@@ -25,7 +31,7 @@ public final class ScheduleAndSuspendModeInternal extends JobMatchingModeInterna
      */
     @Generated
     @JsonProperty(value = "scheduleAt")
-    private OffsetDateTime scheduleAt;
+    private final OffsetDateTime scheduleAt;
 
     /**
      * Creates an instance of ScheduleAndSuspendModeInternal class.
@@ -47,4 +53,23 @@ public ScheduleAndSuspendModeInternal(@JsonProperty(value = "scheduleAt") Offset
     public OffsetDateTime getScheduleAt() {
         return this.scheduleAt;
     }
+
+    /*
+     * The type discriminator describing a sub-type of JobMatchingMode.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private JobMatchingModeKind kind = JobMatchingModeKind.SCHEDULE_AND_SUSPEND;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of JobMatchingMode.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public JobMatchingModeKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticQueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticQueueSelectorAttachmentInternal.java
index 9f17328012f9..82b4a960c6a5 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticQueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticQueueSelectorAttachmentInternal.java
@@ -3,17 +3,23 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Describes a queue selector that will be attached to a job.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = StaticQueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("static")
 @Immutable
 public final class StaticQueueSelectorAttachmentInternal extends QueueSelectorAttachmentInternal {
@@ -23,7 +29,7 @@ public final class StaticQueueSelectorAttachmentInternal extends QueueSelectorAt
      */
     @Generated
     @JsonProperty(value = "queueSelector")
-    private RouterQueueSelectorInternal queueSelector;
+    private final RouterQueueSelectorInternal queueSelector;
 
     /**
      * Creates an instance of StaticQueueSelectorAttachmentInternal class.
@@ -46,4 +52,23 @@ public StaticQueueSelectorAttachmentInternal(
     public RouterQueueSelectorInternal getQueueSelector() {
         return this.queueSelector;
     }
+
+    /*
+     * The type discriminator describing a sub-type of QueueSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private QueueSelectorAttachmentKind kind = QueueSelectorAttachmentKind.STATIC;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of QueueSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public QueueSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticRouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticRouterRuleInternal.java
index 3114a507497c..0dce4502d0ff 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticRouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticRouterRuleInternal.java
@@ -3,16 +3,22 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * A rule providing static rules that always return the same result, regardless of input.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = StaticRouterRuleInternal.class,
+    visible = true)
 @JsonTypeName("static")
 @Fluent
 public final class StaticRouterRuleInternal extends RouterRuleInternal {
@@ -54,4 +60,23 @@ public StaticRouterRuleInternal setValue(Object value) {
         this.value = value;
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of RouterRule
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RouterRuleKind kind = RouterRuleKind.STATIC;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of RouterRule.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RouterRuleKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticWorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticWorkerSelectorAttachmentInternal.java
index a1b61872f688..535caec488e8 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticWorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticWorkerSelectorAttachmentInternal.java
@@ -3,17 +3,23 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Describes a worker selector that will be attached to a job.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = StaticWorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("static")
 @Immutable
 public final class StaticWorkerSelectorAttachmentInternal extends WorkerSelectorAttachmentInternal {
@@ -23,7 +29,7 @@ public final class StaticWorkerSelectorAttachmentInternal extends WorkerSelector
      */
     @Generated
     @JsonProperty(value = "workerSelector")
-    private RouterWorkerSelectorInternal workerSelector;
+    private final RouterWorkerSelectorInternal workerSelector;
 
     /**
      * Creates an instance of StaticWorkerSelectorAttachmentInternal class.
@@ -46,4 +52,23 @@ public StaticWorkerSelectorAttachmentInternal(
     public RouterWorkerSelectorInternal getWorkerSelector() {
         return this.workerSelector;
     }
+
+    /*
+     * The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private WorkerSelectorAttachmentKind kind = WorkerSelectorAttachmentKind.STATIC;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public WorkerSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/SuspendModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/SuspendModeInternal.java
index a837b038e726..9cba3fd61971 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/SuspendModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/SuspendModeInternal.java
@@ -3,15 +3,18 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.JobMatchingModeKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Describes a matching mode where matching worker to a job is suspended.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = SuspendModeInternal.class, visible = true)
 @JsonTypeName("suspend")
 @Immutable
 public final class SuspendModeInternal extends JobMatchingModeInternal {
@@ -22,4 +25,23 @@ public final class SuspendModeInternal extends JobMatchingModeInternal {
     @Generated
     public SuspendModeInternal() {
     }
+
+    /*
+     * The type discriminator describing a sub-type of JobMatchingMode.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private JobMatchingModeKind kind = JobMatchingModeKind.SUSPEND;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of JobMatchingMode.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public JobMatchingModeKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WaitTimeExceptionTriggerInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WaitTimeExceptionTriggerInternal.java
index 432f65e450a5..4a0f6bee3764 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WaitTimeExceptionTriggerInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WaitTimeExceptionTriggerInternal.java
@@ -7,13 +7,18 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Trigger for an exception action on exceeding wait time.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = WaitTimeExceptionTriggerInternal.class,
+    visible = true)
 @JsonTypeName("waitTime")
 @Immutable
 public final class WaitTimeExceptionTriggerInternal extends ExceptionTriggerInternal {
@@ -23,7 +28,7 @@ public final class WaitTimeExceptionTriggerInternal extends ExceptionTriggerInte
      */
     @Generated
     @JsonProperty(value = "thresholdSeconds")
-    private double thresholdSeconds;
+    private final double thresholdSeconds;
 
     /**
      * Creates an instance of WaitTimeExceptionTriggerInternal class.
@@ -45,4 +50,23 @@ public WaitTimeExceptionTriggerInternal(@JsonProperty(value = "thresholdSeconds"
     public double getThresholdSeconds() {
         return this.thresholdSeconds;
     }
+
+    /*
+     * The type discriminator describing a sub-type of ExceptionTrigger.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private ExceptionTriggerKind kind = ExceptionTriggerKind.WAIT_TIME;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of ExceptionTrigger.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public ExceptionTriggerKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WebhookRouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WebhookRouterRuleInternal.java
index 12b4c113c2a8..c58894f813b0 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WebhookRouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WebhookRouterRuleInternal.java
@@ -4,16 +4,22 @@
 package com.azure.communication.jobrouter.implementation.models;
 
 import com.azure.communication.jobrouter.models.OAuth2WebhookClientCredential;
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * A rule providing a binding to an external web server.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = WebhookRouterRuleInternal.class,
+    visible = true)
 @JsonTypeName("webhook")
 @Fluent
 public final class WebhookRouterRuleInternal extends RouterRuleInternal {
@@ -26,8 +32,7 @@ public final class WebhookRouterRuleInternal extends RouterRuleInternal {
     private String authorizationServerUri;
 
     /*
-     * OAuth2.0 Credentials used to Contoso's Authorization server. Reference:
-     * https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/
+     * OAuth2.0 Credentials used to Contoso's Authorization server. Reference: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/
      */
     @Generated
     @JsonProperty(value = "clientCredential")
@@ -114,4 +119,23 @@ public WebhookRouterRuleInternal setClientCredential(OAuth2WebhookClientCredenti
         this.clientCredential = clientCredential;
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of RouterRule
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RouterRuleKind kind = RouterRuleKind.WEBHOOK;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of RouterRule.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RouterRuleKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationQueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationQueueSelectorAttachmentInternal.java
index a82d69805c32..2df7dd948111 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationQueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationQueueSelectorAttachmentInternal.java
@@ -3,10 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -14,7 +16,11 @@
 /**
  * Describes multiple sets of queue selectors, of which one will be selected and attached according to a weighting.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = WeightedAllocationQueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("weightedAllocation")
 @Immutable
 public final class WeightedAllocationQueueSelectorAttachmentInternal extends QueueSelectorAttachmentInternal {
@@ -24,7 +30,7 @@ public final class WeightedAllocationQueueSelectorAttachmentInternal extends Que
      */
     @Generated
     @JsonProperty(value = "allocations")
-    private List allocations;
+    private final List allocations;
 
     /**
      * Creates an instance of WeightedAllocationQueueSelectorAttachmentInternal class.
@@ -47,4 +53,23 @@ public WeightedAllocationQueueSelectorAttachmentInternal(
     public List getAllocations() {
         return this.allocations;
     }
+
+    /*
+     * The type discriminator describing a sub-type of QueueSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private QueueSelectorAttachmentKind kind = QueueSelectorAttachmentKind.WEIGHTED_ALLOCATION;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of QueueSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public QueueSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationWorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationWorkerSelectorAttachmentInternal.java
index d0753a41be2e..1c804b185f03 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationWorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationWorkerSelectorAttachmentInternal.java
@@ -3,10 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -14,7 +16,11 @@
 /**
  * Describes multiple sets of worker selectors, of which one will be selected and attached according to a weighting.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = WeightedAllocationWorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("weightedAllocation")
 @Immutable
 public final class WeightedAllocationWorkerSelectorAttachmentInternal extends WorkerSelectorAttachmentInternal {
@@ -24,7 +30,7 @@ public final class WeightedAllocationWorkerSelectorAttachmentInternal extends Wo
      */
     @Generated
     @JsonProperty(value = "allocations")
-    private List allocations;
+    private final List allocations;
 
     /**
      * Creates an instance of WeightedAllocationWorkerSelectorAttachmentInternal class.
@@ -47,4 +53,23 @@ public WeightedAllocationWorkerSelectorAttachmentInternal(
     public List getAllocations() {
         return this.allocations;
     }
+
+    /*
+     * The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private WorkerSelectorAttachmentKind kind = WorkerSelectorAttachmentKind.WEIGHTED_ALLOCATION;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public WorkerSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerSelectorAttachmentInternal.java
index 86d4c6c034d2..ae4b9da16e88 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerSelectorAttachmentInternal.java
@@ -3,9 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -14,9 +17,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = WorkerSelectorAttachmentInternal.class)
+    defaultImpl = WorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("WorkerSelectorAttachmentInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "conditional", value = ConditionalWorkerSelectorAttachmentInternal.class),
@@ -32,5 +35,24 @@ public class WorkerSelectorAttachmentInternal {
      */
     @Generated
     public WorkerSelectorAttachmentInternal() {
+        this.kind = WorkerSelectorAttachmentKind.fromString("WorkerSelectorAttachmentInternal");
+    }
+
+    /*
+     * The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private WorkerSelectorAttachmentKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public WorkerSelectorAttachmentKind getKind() {
+        return this.kind;
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerWeightedAllocationInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerWeightedAllocationInternal.java
index d6534515e1c7..b3eeaa95065a 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerWeightedAllocationInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerWeightedAllocationInternal.java
@@ -20,14 +20,14 @@ public final class WorkerWeightedAllocationInternal {
      */
     @Generated
     @JsonProperty(value = "weight")
-    private double weight;
+    private final double weight;
 
     /*
      * A collection of worker selectors that will be applied if this allocation is selected.
      */
     @Generated
     @JsonProperty(value = "workerSelectors")
-    private List workerSelectors;
+    private final List workerSelectors;
 
     /**
      * Creates an instance of WorkerWeightedAllocationInternal class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/AcceptJobOfferResult.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/AcceptJobOfferResult.java
index fe7de5997a2c..ce37afee0224 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/AcceptJobOfferResult.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/AcceptJobOfferResult.java
@@ -19,21 +19,21 @@ public final class AcceptJobOfferResult {
      */
     @Generated
     @JsonProperty(value = "assignmentId")
-    private String assignmentId;
+    private final String assignmentId;
 
     /*
      * Id of the job assigned.
      */
     @Generated
     @JsonProperty(value = "jobId")
-    private String jobId;
+    private final String jobId;
 
     /*
      * Id of the worker that has been assigned this job.
      */
     @Generated
     @JsonProperty(value = "workerId")
-    private String workerId;
+    private final String workerId;
 
     /**
      * Creates an instance of AcceptJobOfferResult class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/DistributionModeKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/DistributionModeKind.java
new file mode 100644
index 000000000000..f1a10434969b
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/DistributionModeKind.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported distribution mode types.
+ */
+public final class DistributionModeKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for BestWorkerMode.
+     */
+    @Generated
+    public static final DistributionModeKind BEST_WORKER = fromString("bestWorker");
+
+    /**
+     * Discriminator value for LongestIdleMode.
+     */
+    @Generated
+    public static final DistributionModeKind LONGEST_IDLE = fromString("longestIdle");
+
+    /**
+     * Discriminator value for RoundRobinMode.
+     */
+    @Generated
+    public static final DistributionModeKind ROUND_ROBIN = fromString("roundRobin");
+
+    /**
+     * Creates a new instance of DistributionModeKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public DistributionModeKind() {
+    }
+
+    /**
+     * Creates or finds a DistributionModeKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding DistributionModeKind.
+     */
+    @Generated
+    @JsonCreator
+    public static DistributionModeKind fromString(String name) {
+        return fromString(name, DistributionModeKind.class);
+    }
+
+    /**
+     * Gets known DistributionModeKind values.
+     *
+     * @return known DistributionModeKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(DistributionModeKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/FunctionRouterRuleCredential.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/FunctionRouterRuleCredential.java
index d1a23e6d3e29..e5ea4d202509 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/FunctionRouterRuleCredential.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/FunctionRouterRuleCredential.java
@@ -64,8 +64,8 @@ public FunctionRouterRuleCredential setFunctionKey(String functionKey) {
     }
 
     /**
-     * Get the appKey property: Access key scoped to a Azure Function app. This key grants access to all functions
-     * under the app.
+     * Get the appKey property: Access key scoped to a Azure Function app. This key grants access to all functions under
+     * the app.
      *
      * @return the appKey value.
      */
@@ -75,8 +75,8 @@ public String getAppKey() {
     }
 
     /**
-     * Set the appKey property: Access key scoped to a Azure Function app. This key grants access to all functions
-     * under the app.
+     * Set the appKey property: Access key scoped to a Azure Function app. This key grants access to all functions under
+     * the app.
      *
      * @param appKey the appKey value to set.
      * @return the FunctionRouterRuleCredential object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/JobMatchingModeKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/JobMatchingModeKind.java
new file mode 100644
index 000000000000..1819a1d85b85
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/JobMatchingModeKind.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported matching mode types.
+ */
+public final class JobMatchingModeKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for QueueAndMatchMode.
+     */
+    @Generated
+    public static final JobMatchingModeKind QUEUE_AND_MATCH = fromString("queueAndMatch");
+
+    /**
+     * Discriminator value for ScheduleAndSuspendMode.
+     */
+    @Generated
+    public static final JobMatchingModeKind SCHEDULE_AND_SUSPEND = fromString("scheduleAndSuspend");
+
+    /**
+     * Discriminator value for SuspendMode.
+     */
+    @Generated
+    public static final JobMatchingModeKind SUSPEND = fromString("suspend");
+
+    /**
+     * Creates a new instance of JobMatchingModeKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public JobMatchingModeKind() {
+    }
+
+    /**
+     * Creates or finds a JobMatchingModeKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding JobMatchingModeKind.
+     */
+    @Generated
+    @JsonCreator
+    public static JobMatchingModeKind fromString(String name) {
+        return fromString(name, JobMatchingModeKind.class);
+    }
+
+    /**
+     * Gets known JobMatchingModeKind values.
+     *
+     * @return known JobMatchingModeKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(JobMatchingModeKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/QueueSelectorAttachmentKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/QueueSelectorAttachmentKind.java
new file mode 100644
index 000000000000..7f42e78762d2
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/QueueSelectorAttachmentKind.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported queue selector attachment types.
+ */
+public final class QueueSelectorAttachmentKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for ConditionalQueueSelectorAttachment.
+     */
+    @Generated
+    public static final QueueSelectorAttachmentKind CONDITIONAL = fromString("conditional");
+
+    /**
+     * Discriminator value for PassThroughQueueSelectorAttachment.
+     */
+    @Generated
+    public static final QueueSelectorAttachmentKind PASS_THROUGH = fromString("passThrough");
+
+    /**
+     * Discriminator value for RuleEngineQueueSelectorAttachment.
+     */
+    @Generated
+    public static final QueueSelectorAttachmentKind RULE_ENGINE = fromString("ruleEngine");
+
+    /**
+     * Discriminator value for StaticQueueSelectorAttachment.
+     */
+    @Generated
+    public static final QueueSelectorAttachmentKind STATIC = fromString("static");
+
+    /**
+     * Discriminator value for WeightedAllocationQueueSelectorAttachment.
+     */
+    @Generated
+    public static final QueueSelectorAttachmentKind WEIGHTED_ALLOCATION = fromString("weightedAllocation");
+
+    /**
+     * Creates a new instance of QueueSelectorAttachmentKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public QueueSelectorAttachmentKind() {
+    }
+
+    /**
+     * Creates or finds a QueueSelectorAttachmentKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding QueueSelectorAttachmentKind.
+     */
+    @Generated
+    @JsonCreator
+    public static QueueSelectorAttachmentKind fromString(String name) {
+        return fromString(name, QueueSelectorAttachmentKind.class);
+    }
+
+    /**
+     * Gets known QueueSelectorAttachmentKind values.
+     *
+     * @return known QueueSelectorAttachmentKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(QueueSelectorAttachmentKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterChannel.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterChannel.java
index 90d04ac485d6..6ada7c7cbc0b 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterChannel.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterChannel.java
@@ -19,17 +19,17 @@ public final class RouterChannel {
      */
     @Generated
     @JsonProperty(value = "channelId")
-    private String channelId;
+    private final String channelId;
 
     /*
      * The amount of capacity that an instance of a job of this channel will consume of the total worker capacity.
      */
     @Generated
     @JsonProperty(value = "capacityCostPerJob")
-    private int capacityCostPerJob;
+    private final int capacityCostPerJob;
 
     /*
-     * The maximum number of jobs that can be supported concurrently for this channel.
+     * The maximum number of jobs that can be supported concurrently for this channel. Value must be greater than zero.
      */
     @Generated
     @JsonProperty(value = "maxNumberOfJobs")
@@ -71,8 +71,8 @@ public int getCapacityCostPerJob() {
     }
 
     /**
-     * Get the maxNumberOfJobs property: The maximum number of jobs that can be supported concurrently for this
-     * channel.
+     * Get the maxNumberOfJobs property: The maximum number of jobs that can be supported concurrently for this channel.
+     * Value must be greater than zero.
      *
      * @return the maxNumberOfJobs value.
      */
@@ -82,8 +82,8 @@ public Integer getMaxNumberOfJobs() {
     }
 
     /**
-     * Set the maxNumberOfJobs property: The maximum number of jobs that can be supported concurrently for this
-     * channel.
+     * Set the maxNumberOfJobs property: The maximum number of jobs that can be supported concurrently for this channel.
+     * Value must be greater than zero.
      *
      * @param maxNumberOfJobs the maxNumberOfJobs value to set.
      * @return the RouterChannel object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobAssignment.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobAssignment.java
index ce42ce058118..a9c177468d5f 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobAssignment.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobAssignment.java
@@ -34,7 +34,7 @@ public final class RouterJobAssignment {
      */
     @Generated
     @JsonProperty(value = "assignedAt")
-    private OffsetDateTime assignedAt;
+    private final OffsetDateTime assignedAt;
 
     /*
      * Timestamp when the job was marked as completed after being assigned in UTC.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobOffer.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobOffer.java
index 81a50b474939..62a5f697729c 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobOffer.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobOffer.java
@@ -27,14 +27,14 @@ public final class RouterJobOffer {
      */
     @Generated
     @JsonProperty(value = "jobId")
-    private String jobId;
+    private final String jobId;
 
     /*
      * The capacity cost consumed by the job offer.
      */
     @Generated
     @JsonProperty(value = "capacityCost")
-    private int capacityCost;
+    private final int capacityCost;
 
     /*
      * Timestamp when the offer was created in UTC.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobPositionDetails.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobPositionDetails.java
index 61a70bd154d2..5f07eab7ca8e 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobPositionDetails.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobPositionDetails.java
@@ -19,35 +19,35 @@ public final class RouterJobPositionDetails {
      */
     @Generated
     @JsonProperty(value = "jobId")
-    private String jobId;
+    private final String jobId;
 
     /*
      * Position of the job in question within that queue.
      */
     @Generated
     @JsonProperty(value = "position")
-    private int position;
+    private final int position;
 
     /*
      * Id of the queue this job is enqueued in.
      */
     @Generated
     @JsonProperty(value = "queueId")
-    private String queueId;
+    private final String queueId;
 
     /*
      * Length of the queue: total number of enqueued jobs.
      */
     @Generated
     @JsonProperty(value = "queueLength")
-    private int queueLength;
+    private final int queueLength;
 
     /*
      * Estimated wait time of the job rounded up to the nearest minute.
      */
     @Generated
     @JsonProperty(value = "estimatedWaitTimeMinutes")
-    private double estimatedWaitTimeMinutes;
+    private final double estimatedWaitTimeMinutes;
 
     /**
      * Creates an instance of RouterJobPositionDetails class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterRuleKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterRuleKind.java
new file mode 100644
index 000000000000..4e5f9ed8d2f5
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterRuleKind.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported router rule types.
+ */
+public final class RouterRuleKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for DirectMapRouterRule.
+     */
+    @Generated
+    public static final RouterRuleKind DIRECT_MAP = fromString("directMap");
+
+    /**
+     * Discriminator value for ExpressionRouterRule.
+     */
+    @Generated
+    public static final RouterRuleKind EXPRESSION = fromString("expression");
+
+    /**
+     * Discriminator value for FunctionRouterRule.
+     */
+    @Generated
+    public static final RouterRuleKind FUNCTION = fromString("function");
+
+    /**
+     * Discriminator value for StaticRouterRule.
+     */
+    @Generated
+    public static final RouterRuleKind STATIC = fromString("static");
+
+    /**
+     * Discriminator value for WebhookRouterRule.
+     */
+    @Generated
+    public static final RouterRuleKind WEBHOOK = fromString("webhook");
+
+    /**
+     * Creates a new instance of RouterRuleKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public RouterRuleKind() {
+    }
+
+    /**
+     * Creates or finds a RouterRuleKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding RouterRuleKind.
+     */
+    @Generated
+    @JsonCreator
+    public static RouterRuleKind fromString(String name) {
+        return fromString(name, RouterRuleKind.class);
+    }
+
+    /**
+     * Gets known RouterRuleKind values.
+     *
+     * @return known RouterRuleKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(RouterRuleKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterWorkerAssignment.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterWorkerAssignment.java
index 47826ed98569..6f0f8c37de36 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterWorkerAssignment.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterWorkerAssignment.java
@@ -20,28 +20,28 @@ public final class RouterWorkerAssignment {
      */
     @Generated
     @JsonProperty(value = "assignmentId")
-    private String assignmentId;
+    private final String assignmentId;
 
     /*
      * Id of the job assigned.
      */
     @Generated
     @JsonProperty(value = "jobId")
-    private String jobId;
+    private final String jobId;
 
     /*
      * The amount of capacity this assignment has consumed on the worker.
      */
     @Generated
     @JsonProperty(value = "capacityCost")
-    private int capacityCost;
+    private final int capacityCost;
 
     /*
      * The assignment time of the job in UTC.
      */
     @Generated
     @JsonProperty(value = "assignedAt")
-    private OffsetDateTime assignedAt;
+    private final OffsetDateTime assignedAt;
 
     /**
      * Creates an instance of RouterWorkerAssignment class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleOptions.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleOptions.java
index 21b3c42885b1..c21f116dce77 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleOptions.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleOptions.java
@@ -22,10 +22,7 @@ public final class ScoringRuleOptions {
     private Integer batchSize;
 
     /*
-     * List of extra parameters from a job that will be sent as part of the payload to scoring rule. If not set, a
-     * job's labels (sent in the payload as `job`) and a job's worker selectors (sent in the payload as `selectors`)
-     * are added to the payload of the scoring rule by default. Note: Worker labels are always sent with scoring
-     * payload.
+     * List of extra parameters from a job that will be sent as part of the payload to scoring rule. If not set, a job's labels (sent in the payload as `job`) and a job's worker selectors (sent in the payload as `selectors`) are added to the payload of the scoring rule by default. Note: Worker labels are always sent with scoring payload.
      */
     @Generated
     @JsonProperty(value = "scoringParameters")
@@ -120,9 +117,7 @@ public ScoringRuleOptions setDescendingOrder(Boolean descendingOrder) {
     }
 
     /*
-     * If set to true, will score workers in batches, and the parameter name of the worker labels will be sent as
-     * `workers`. By default, set to false and the parameter name for the worker labels will be sent as `worker`. Note:
-     * If enabled, use 'batchSize' to set batch size.
+     * If set to true, will score workers in batches, and the parameter name of the worker labels will be sent as `workers`. By default, set to false and the parameter name for the worker labels will be sent as `worker`. Note: If enabled, use 'batchSize' to set batch size.
      */
     @Generated
     @JsonProperty(value = "isBatchScoringEnabled")
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobResult.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobResult.java
index 861b5d548267..7c1e2926b80b 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobResult.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobResult.java
@@ -19,14 +19,14 @@ public final class UnassignJobResult {
      */
     @Generated
     @JsonProperty(value = "jobId")
-    private String jobId;
+    private final String jobId;
 
     /*
      * The number of times a job is unassigned. At a maximum 3.
      */
     @Generated
     @JsonProperty(value = "unassignmentCount")
-    private int unassignmentCount;
+    private final int unassignmentCount;
 
     /**
      * Creates an instance of UnassignJobResult class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/WorkerSelectorAttachmentKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/WorkerSelectorAttachmentKind.java
new file mode 100644
index 000000000000..227ce29199e4
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/WorkerSelectorAttachmentKind.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported worker selector attachment types.
+ */
+public final class WorkerSelectorAttachmentKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for ConditionalWorkerSelectorAttachment.
+     */
+    @Generated
+    public static final WorkerSelectorAttachmentKind CONDITIONAL = fromString("conditional");
+
+    /**
+     * Discriminator value for PassThroughWorkerSelectorAttachment.
+     */
+    @Generated
+    public static final WorkerSelectorAttachmentKind PASS_THROUGH = fromString("passThrough");
+
+    /**
+     * Discriminator value for RuleEngineWorkerSelectorAttachment.
+     */
+    @Generated
+    public static final WorkerSelectorAttachmentKind RULE_ENGINE = fromString("ruleEngine");
+
+    /**
+     * Discriminator value for StaticWorkerSelectorAttachment.
+     */
+    @Generated
+    public static final WorkerSelectorAttachmentKind STATIC = fromString("static");
+
+    /**
+     * Discriminator value for WeightedAllocationWorkerSelectorAttachment.
+     */
+    @Generated
+    public static final WorkerSelectorAttachmentKind WEIGHTED_ALLOCATION = fromString("weightedAllocation");
+
+    /**
+     * Creates a new instance of WorkerSelectorAttachmentKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public WorkerSelectorAttachmentKind() {
+    }
+
+    /**
+     * Creates or finds a WorkerSelectorAttachmentKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding WorkerSelectorAttachmentKind.
+     */
+    @Generated
+    @JsonCreator
+    public static WorkerSelectorAttachmentKind fromString(String name) {
+        return fromString(name, WorkerSelectorAttachmentKind.class);
+    }
+
+    /**
+     * Gets known WorkerSelectorAttachmentKind values.
+     *
+     * @return known WorkerSelectorAttachmentKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(WorkerSelectorAttachmentKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/tsp-location.yaml b/sdk/communication/azure-communication-jobrouter/tsp-location.yaml
index 17d22298b3a1..86e541fc5a5e 100644
--- a/sdk/communication/azure-communication-jobrouter/tsp-location.yaml
+++ b/sdk/communication/azure-communication-jobrouter/tsp-location.yaml
@@ -1,4 +1,4 @@
-commit: 1c04f51cbfa195fe177239cf63d00d3539006800
+commit: 9b1d6b68cb4ab26724d6e813b7649a40902d622d
 directory: specification/communication/Communication.JobRouter
 additionalDirectories: []
 repo: Azure/azure-rest-api-specs
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateAsyncClient.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateAsyncClient.java
index 20ca21711ac0..f8731b5b2f9b 100644
--- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateAsyncClient.java
+++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateAsyncClient.java
@@ -42,30 +42,18 @@ public final class MessageTemplateAsyncClient {
 
     /**
      * List all templates for given Azure Communication Services channel.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -105,12 +93,14 @@ public PagedFlux listTemplates(String channelId) {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listTemplates(channelId, requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux
                 .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                     pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                    pagedResponse.getValue().stream()
+                    pagedResponse.getValue()
+                        .stream()
                         .map(protocolMethodData -> protocolMethodData.toObject(MessageTemplateItem.class))
                         .collect(Collectors.toList()),
                     pagedResponse.getContinuationToken(), null));
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClient.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClient.java
index ca58289a9b1c..bebdb920b43a 100644
--- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClient.java
+++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClient.java
@@ -38,30 +38,18 @@ public final class MessageTemplateClient {
 
     /**
      * List all templates for given Azure Communication Services channel.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClientBuilder.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClientBuilder.java
index b8b3adf04743..d267eee869c2 100644
--- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClientBuilder.java
+++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClientBuilder.java
@@ -3,18 +3,18 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.messages;
 
-import com.azure.communication.common.implementation.CommunicationConnectionString;
 import com.azure.communication.common.implementation.HmacAuthenticationPolicy;
+import com.azure.core.credential.AzureKeyCredential;
+import com.azure.communication.common.implementation.CommunicationConnectionString;
+import com.azure.core.client.traits.ConnectionStringTrait;
+import com.azure.core.client.traits.KeyCredentialTrait;
+import com.azure.core.client.traits.TokenCredentialTrait;
 import com.azure.communication.messages.implementation.MessageTemplateClientImpl;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.ServiceClientBuilder;
 import com.azure.core.client.traits.ConfigurationTrait;
-import com.azure.core.client.traits.ConnectionStringTrait;
 import com.azure.core.client.traits.EndpointTrait;
 import com.azure.core.client.traits.HttpTrait;
-import com.azure.core.client.traits.KeyCredentialTrait;
-import com.azure.core.client.traits.TokenCredentialTrait;
-import com.azure.core.credential.AzureKeyCredential;
 import com.azure.core.credential.KeyCredential;
 import com.azure.core.credential.TokenCredential;
 import com.azure.core.http.HttpClient;
@@ -27,8 +27,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -92,7 +92,7 @@ public MessageTemplateClientBuilder() {
     @Override
     public MessageTemplateClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -307,18 +307,22 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
         policies.add(new AddDatePolicy());
         policies.add(createHttpPipelineAuthPolicy());
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesAsyncClient.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesAsyncClient.java
index 305e3f701042..0156f64e316c 100644
--- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesAsyncClient.java
+++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesAsyncClient.java
@@ -41,45 +41,29 @@ public final class NotificationMessagesAsyncClient {
 
     /**
      * Sends a notification message from Business to User.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
+     *     kind: String(text/image/template) (Required)
      *     channelRegistrationId: String (Required)
      *     to (Required): [
      *         String (Required)
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     receipts (Required): [
@@ -108,9 +92,8 @@ public Mono> sendWithResponse(BinaryData notificationConten
 
     /**
      * Download the Media payload from a User to Business message.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * BinaryData
      * }
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClient.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClient.java index b4e49073108a..357420668aed 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClient.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClient.java @@ -39,45 +39,29 @@ public final class NotificationMessagesClient { /** * Sends a notification message from Business to User. - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
+     *     kind: String(text/image/template) (Required)
      *     channelRegistrationId: String (Required)
      *     to (Required): [
      *         String (Required)
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     receipts (Required): [
@@ -105,9 +89,8 @@ public Response sendWithResponse(BinaryData notificationContent, Req
 
     /**
      * Download the Media payload from a User to Business message.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * BinaryData
      * }
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClientBuilder.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClientBuilder.java index cd8cb8776fa5..2bb174993835 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClientBuilder.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClientBuilder.java @@ -3,18 +3,18 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.communication.messages; -import com.azure.communication.common.implementation.CommunicationConnectionString; import com.azure.communication.common.implementation.HmacAuthenticationPolicy; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.communication.common.implementation.CommunicationConnectionString; +import com.azure.core.client.traits.ConnectionStringTrait; +import com.azure.core.client.traits.KeyCredentialTrait; +import com.azure.core.client.traits.TokenCredentialTrait; import com.azure.communication.messages.implementation.NotificationMessagesClientImpl; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ServiceClientBuilder; import com.azure.core.client.traits.ConfigurationTrait; -import com.azure.core.client.traits.ConnectionStringTrait; import com.azure.core.client.traits.EndpointTrait; import com.azure.core.client.traits.HttpTrait; -import com.azure.core.client.traits.KeyCredentialTrait; -import com.azure.core.client.traits.TokenCredentialTrait; -import com.azure.core.credential.AzureKeyCredential; import com.azure.core.credential.KeyCredential; import com.azure.core.credential.TokenCredential; import com.azure.core.http.HttpClient; @@ -27,8 +27,8 @@ import com.azure.core.http.policy.AddHeadersFromContextPolicy; import com.azure.core.http.policy.AddHeadersPolicy; import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; -import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpPipelinePolicy; import com.azure.core.http.policy.HttpPolicyProviders; import com.azure.core.http.policy.RequestIdPolicy; @@ -92,7 +92,7 @@ public NotificationMessagesClientBuilder() { @Override public NotificationMessagesClientBuilder pipeline(HttpPipeline pipeline) { if (this.pipeline != null && pipeline == null) { - LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured."); + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); } this.pipeline = pipeline; return this; @@ -307,18 +307,22 @@ private HttpPipeline createHttpPipeline() { if (headers.getSize() > 0) { policies.add(new AddHeadersPolicy(headers)); } - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) .forEach(p -> policies.add(p)); HttpPolicyProviders.addBeforeRetryPolicies(policies); policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); policies.add(new AddDatePolicy()); policies.add(createHttpPipelineAuthPolicy()); - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) .forEach(p -> policies.add(p)); HttpPolicyProviders.addAfterRetryPolicies(policies); policies.add(new HttpLoggingPolicy(localHttpLogOptions)); HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) - .httpClient(httpClient).clientOptions(localClientOptions).build(); + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); return httpPipeline; } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/MessageTemplateClientImpl.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/MessageTemplateClientImpl.java index 65c262030300..f40800a3e72a 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/MessageTemplateClientImpl.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/MessageTemplateClientImpl.java @@ -149,8 +149,8 @@ public MessageTemplateClientImpl(HttpPipeline httpPipeline, SerializerAdapter se } /** - * The interface defining all the services for MessageTemplateClient to be used by the proxy service to perform - * REST calls. + * The interface defining all the services for MessageTemplateClient to be used by the proxy service to perform REST + * calls. */ @Host("{endpoint}") @ServiceInterface(name = "MessageTemplateClien") @@ -198,30 +198,18 @@ Response listTemplatesNextSync(@PathParam(value = "nextLink", encode /** * List all templates for given Azure Communication Services channel. - *

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -250,30 +238,18 @@ private Mono> listTemplatesSinglePageAsync(String chan
 
     /**
      * List all templates for given Azure Communication Services channel.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -319,30 +295,18 @@ public PagedFlux listTemplatesAsync(String channelId, RequestOptions
 
     /**
      * List all templates for given Azure Communication Services channel.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -368,30 +332,18 @@ private PagedResponse listTemplatesSinglePage(String channelId, Requ
 
     /**
      * List all templates for given Azure Communication Services channel.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -437,11 +389,11 @@ public PagedIterable listTemplates(String channelId, RequestOptions
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -472,11 +424,11 @@ private Mono> listTemplatesNextSinglePageAsync(String
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/NotificationMessagesClientImpl.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/NotificationMessagesClientImpl.java
index a7d5ad3ec367..52c29cf620c1 100644
--- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/NotificationMessagesClientImpl.java
+++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/NotificationMessagesClientImpl.java
@@ -147,8 +147,8 @@ public NotificationMessagesClientImpl(HttpPipeline httpPipeline, SerializerAdapt
     }
 
     /**
-     * The interface defining all the services for NotificationMessagesClient to be used by the proxy service to
-     * perform REST calls.
+     * The interface defining all the services for NotificationMessagesClient to be used by the proxy service to perform
+     * REST calls.
      */
     @Host("{endpoint}")
     @ServiceInterface(name = "NotificationMessages")
@@ -198,45 +198,29 @@ Response downloadMediaSync(@HostParam("endpoint") String endpoint,
 
     /**
      * Sends a notification message from Business to User.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
+     *     kind: String(text/image/template) (Required)
      *     channelRegistrationId: String (Required)
      *     to (Required): [
      *         String (Required)
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     receipts (Required): [
@@ -266,14 +250,14 @@ public Mono> sendWithResponseAsync(BinaryData notificationC
         String repeatabilityFirstSent = DateTimeRfc1123.toRfc1123String(OffsetDateTime.now());
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-request-id"),
-                    repeatabilityRequestId);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-request-id"), repeatabilityRequestId);
             }
         });
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-first-sent"),
-                    repeatabilityFirstSent);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-first-sent"), repeatabilityFirstSent);
             }
         });
         return FluxUtil.withContext(context -> service.send(this.getEndpoint(), this.getServiceVersion().getVersion(),
@@ -282,45 +266,29 @@ public Mono> sendWithResponseAsync(BinaryData notificationC
 
     /**
      * Sends a notification message from Business to User.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
+     *     kind: String(text/image/template) (Required)
      *     channelRegistrationId: String (Required)
      *     to (Required): [
      *         String (Required)
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     receipts (Required): [
@@ -348,14 +316,14 @@ public Response sendWithResponse(BinaryData notificationContent, Req
         String repeatabilityFirstSent = DateTimeRfc1123.toRfc1123String(OffsetDateTime.now());
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-request-id"),
-                    repeatabilityRequestId);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-request-id"), repeatabilityRequestId);
             }
         });
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-first-sent"),
-                    repeatabilityFirstSent);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-first-sent"), repeatabilityFirstSent);
             }
         });
         return service.sendSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, notificationContent,
@@ -364,9 +332,8 @@ public Response sendWithResponse(BinaryData notificationContent, Req
 
     /**
      * Download the Media payload from a User to Business message.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * BinaryData
      * }
@@ -388,9 +355,8 @@ public Mono> downloadMediaWithResponseAsync(String mediaId, /** * Download the Media payload from a User to Business message. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * BinaryData
      * }
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/models/MessageDataStream.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/models/MessageDataStream.java index c13663bee822..00a651e0f1e1 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/models/MessageDataStream.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/models/MessageDataStream.java @@ -27,7 +27,7 @@ public final class MessageDataStream { */ @Generated @JsonProperty(value = "body") - private byte[] body; + private final byte[] body; /** * Creates an instance of MessageDataStream class. diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessageKind.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessageKind.java new file mode 100644 index 000000000000..0ad052b3bcf0 --- /dev/null +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessageKind.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.communication.messages.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of message. Supports text, image, template. + */ +public final class CommunicationMessageKind extends ExpandableStringEnum { + + /** + * Text message type. + */ + @Generated + public static final CommunicationMessageKind TEXT = fromString("text"); + + /** + * Image message type. + */ + @Generated + public static final CommunicationMessageKind IMAGE = fromString("image"); + + /** + * Template message type. + */ + @Generated + public static final CommunicationMessageKind TEMPLATE = fromString("template"); + + /** + * Creates a new instance of CommunicationMessageKind value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public CommunicationMessageKind() { + } + + /** + * Creates or finds a CommunicationMessageKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding CommunicationMessageKind. + */ + @Generated + @JsonCreator + public static CommunicationMessageKind fromString(String name) { + return fromString(name, CommunicationMessageKind.class); + } + + /** + * Gets known CommunicationMessageKind values. + * + * @return known CommunicationMessageKind values. + */ + @Generated + public static Collection values() { + return values(CommunicationMessageKind.class); + } +} diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessagesChannel.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessagesChannel.java new file mode 100644 index 000000000000..b945820e4220 --- /dev/null +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessagesChannel.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.communication.messages.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of the communication messages channel. + */ +public final class CommunicationMessagesChannel extends ExpandableStringEnum { + + /** + * The WhatsApp communication messages channel type. + */ + @Generated + public static final CommunicationMessagesChannel WHATS_APP = fromString("whatsApp"); + + /** + * Creates a new instance of CommunicationMessagesChannel value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public CommunicationMessagesChannel() { + } + + /** + * Creates or finds a CommunicationMessagesChannel from its string representation. + * + * @param name a name to look for. + * @return the corresponding CommunicationMessagesChannel. + */ + @Generated + @JsonCreator + public static CommunicationMessagesChannel fromString(String name) { + return fromString(name, CommunicationMessagesChannel.class); + } + + /** + * Gets known CommunicationMessagesChannel values. + * + * @return known CommunicationMessagesChannel values. + */ + @Generated + public static Collection values() { + return values(CommunicationMessagesChannel.class); + } +} diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MediaNotificationContent.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MediaNotificationContent.java index 9e9b6d55910a..9ded92a5a314 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MediaNotificationContent.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MediaNotificationContent.java @@ -7,6 +7,7 @@ import com.azure.core.annotation.Generated; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; import java.util.List; @@ -14,7 +15,11 @@ /** * A request to send a media notification. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = MediaNotificationContent.class, + visible = true) @JsonTypeName("image") @Fluent public final class MediaNotificationContent extends NotificationContent { @@ -31,7 +36,7 @@ public final class MediaNotificationContent extends NotificationContent { */ @Generated @JsonProperty(value = "mediaUri") - private String mediaUrl; + private final String mediaUrl; /** * Creates an instance of MediaNotificationContent class. @@ -80,4 +85,23 @@ public MediaNotificationContent setContent(String content) { public String getMediaUrl() { return this.mediaUrl; } + + /* + * The type discriminator describing a notification type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private CommunicationMessageKind kind = CommunicationMessageKind.IMAGE; + + /** + * Get the kind property: The type discriminator describing a notification type. + * + * @return the kind value. + */ + @Generated + @Override + public CommunicationMessageKind getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageReceipt.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageReceipt.java index eb8b3314bf78..b3c4cfdf222b 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageReceipt.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageReceipt.java @@ -19,14 +19,14 @@ public final class MessageReceipt { */ @Generated @JsonProperty(value = "messageId") - private String messageId; + private final String messageId; /* * The native external platform user identifier of the recipient. */ @Generated @JsonProperty(value = "to") - private String to; + private final String to; /** * Creates an instance of MessageReceipt class. diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplate.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplate.java index f9b8f1d92a2a..5c4fbb4c707b 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplate.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplate.java @@ -20,15 +20,14 @@ public final class MessageTemplate { */ @Generated @JsonProperty(value = "name") - private String name; + private final String name; /* - * The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional - * two-letter country code, e.g., 'en' or 'en_US'. + * The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional two-letter country code, e.g., 'en' or 'en_US'. */ @Generated @JsonProperty(value = "language") - private String language; + private final String language; /* * The template values. diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindings.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindings.java index 8e75dc6d7cfa..414b33a5ef8d 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindings.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindings.java @@ -6,7 +6,9 @@ import com.azure.communication.messages.models.channels.WhatsAppMessageTemplateBindings; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; @@ -15,9 +17,9 @@ */ @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, property = "kind", - defaultImpl = MessageTemplateBindings.class) + defaultImpl = MessageTemplateBindings.class, + visible = true) @JsonTypeName("MessageTemplateBindings") @JsonSubTypes({ @JsonSubTypes.Type(name = "whatsApp", value = WhatsAppMessageTemplateBindings.class) }) @Immutable @@ -28,5 +30,24 @@ public class MessageTemplateBindings { */ @Generated public MessageTemplateBindings() { + this.kind = MessageTemplateBindingsKind.fromString("MessageTemplateBindings"); + } + + /* + * The type discriminator describing a template bindings type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private MessageTemplateBindingsKind kind; + + /** + * Get the kind property: The type discriminator describing a template bindings type. + * + * @return the kind value. + */ + @Generated + public MessageTemplateBindingsKind getKind() { + return this.kind; } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindingsKind.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindingsKind.java new file mode 100644 index 000000000000..c42dc4cb13a2 --- /dev/null +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindingsKind.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.communication.messages.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of the message template. + */ +public final class MessageTemplateBindingsKind extends ExpandableStringEnum { + + /** + * The WhatsApp template type. + */ + @Generated + public static final MessageTemplateBindingsKind WHATS_APP = fromString("whatsApp"); + + /** + * Creates a new instance of MessageTemplateBindingsKind value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public MessageTemplateBindingsKind() { + } + + /** + * Creates or finds a MessageTemplateBindingsKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding MessageTemplateBindingsKind. + */ + @Generated + @JsonCreator + public static MessageTemplateBindingsKind fromString(String name) { + return fromString(name, MessageTemplateBindingsKind.class); + } + + /** + * Gets known MessageTemplateBindingsKind values. + * + * @return known MessageTemplateBindingsKind values. + */ + @Generated + public static Collection values() { + return values(MessageTemplateBindingsKind.class); + } +} diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateDocument.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateDocument.java index 8dd369aa9833..493f464a0954 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateDocument.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateDocument.java @@ -7,13 +7,18 @@ import com.azure.core.annotation.Generated; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * The message template's document value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = MessageTemplateDocument.class, + visible = true) @JsonTypeName("document") @Fluent public final class MessageTemplateDocument extends MessageTemplateValue { @@ -23,7 +28,7 @@ public final class MessageTemplateDocument extends MessageTemplateValue { */ @Generated @JsonProperty(value = "url") - private String url; + private final String url; /* * The [optional] caption of the media object. @@ -106,4 +111,23 @@ public MessageTemplateDocument setFileName(String fileName) { this.fileName = fileName; return this; } + + /* + * The type discriminator describing a template parameter type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private MessageTemplateValueKind kind = MessageTemplateValueKind.DOCUMENT; + + /** + * Get the kind property: The type discriminator describing a template parameter type. + * + * @return the kind value. + */ + @Generated + @Override + public MessageTemplateValueKind getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateImage.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateImage.java index 86bcfc40e0eb..5c5ca8e3fb66 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateImage.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateImage.java @@ -7,13 +7,14 @@ import com.azure.core.annotation.Generated; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * The message template's image value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = MessageTemplateImage.class, visible = true) @JsonTypeName("image") @Fluent public final class MessageTemplateImage extends MessageTemplateValue { @@ -23,7 +24,7 @@ public final class MessageTemplateImage extends MessageTemplateValue { */ @Generated @JsonProperty(value = "url") - private String url; + private final String url; /* * The [optional] caption of the media object. @@ -106,4 +107,23 @@ public MessageTemplateImage setFileName(String fileName) { this.fileName = fileName; return this; } + + /* + * The type discriminator describing a template parameter type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private MessageTemplateValueKind kind = MessageTemplateValueKind.IMAGE; + + /** + * Get the kind property: The type discriminator describing a template parameter type. + * + * @return the kind value. + */ + @Generated + @Override + public MessageTemplateValueKind getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateItem.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateItem.java index 3647a7703d6c..d0d5b9c88c5e 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateItem.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateItem.java @@ -9,17 +9,14 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * The message template as returned from the service. */ -@JsonTypeInfo( - use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, - property = "kind", - defaultImpl = MessageTemplateItem.class) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = MessageTemplateItem.class, visible = true) @JsonTypeName("MessageTemplateItem") @JsonSubTypes({ @JsonSubTypes.Type(name = "whatsApp", value = WhatsAppMessageTemplateItem.class) }) @Immutable @@ -33,19 +30,18 @@ public abstract class MessageTemplateItem { private String name; /* - * The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional - * two-letter country code, e.g., 'en' or 'en_US'. + * The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional two-letter country code, e.g., 'en' or 'en_US'. */ @Generated @JsonProperty(value = "language") - private String language; + private final String language; /* * The aggregated template status. */ @Generated @JsonProperty(value = "status") - private MessageTemplateStatus status; + private final MessageTemplateStatus status; /** * Creates an instance of MessageTemplateItem class. @@ -57,6 +53,7 @@ public abstract class MessageTemplateItem { @JsonCreator protected MessageTemplateItem(@JsonProperty(value = "language") String language, @JsonProperty(value = "status") MessageTemplateStatus status) { + this.kind = CommunicationMessagesChannel.fromString("MessageTemplateItem"); this.language = language; this.status = status; } @@ -91,4 +88,22 @@ public String getLanguage() { public MessageTemplateStatus getStatus() { return this.status; } + + /* + * The type discriminator describing a template type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private CommunicationMessagesChannel kind; + + /** + * Get the kind property: The type discriminator describing a template type. + * + * @return the kind value. + */ + @Generated + public CommunicationMessagesChannel getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateLocation.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateLocation.java index 4795f995b677..679734c069ce 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateLocation.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateLocation.java @@ -3,18 +3,23 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.communication.messages.models; +import com.azure.core.models.GeoPosition; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; -import com.azure.core.models.GeoPosition; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * The message template's location value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = MessageTemplateLocation.class, + visible = true) @JsonTypeName("location") @Fluent public final class MessageTemplateLocation extends MessageTemplateValue { @@ -38,14 +43,14 @@ public final class MessageTemplateLocation extends MessageTemplateValue { */ @Generated @JsonProperty(value = "latitude") - private double latitude; + private final double latitude; /* * The longitude of the location. */ @Generated @JsonProperty(value = "longitude") - private double longitude; + private final double longitude; /** * Creates an instance of MessageTemplateLocation class. @@ -113,4 +118,23 @@ public MessageTemplateLocation setAddress(String address) { public GeoPosition getPosition() { return new GeoPosition(this.longitude, this.latitude); } + + /* + * The type discriminator describing a template parameter type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private MessageTemplateValueKind kind = MessageTemplateValueKind.LOCATION; + + /** + * Get the kind property: The type discriminator describing a template parameter type. + * + * @return the kind value. + */ + @Generated + @Override + public MessageTemplateValueKind getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateQuickAction.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateQuickAction.java index 7a6dbef64e80..de7d3a09498f 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateQuickAction.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateQuickAction.java @@ -7,13 +7,18 @@ import com.azure.core.annotation.Generated; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * The message template's quick action value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = MessageTemplateQuickAction.class, + visible = true) @JsonTypeName("quickAction") @Fluent public final class MessageTemplateQuickAction extends MessageTemplateValue { @@ -86,4 +91,23 @@ public MessageTemplateQuickAction setPayload(String payload) { this.payload = payload; return this; } + + /* + * The type discriminator describing a template parameter type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private MessageTemplateValueKind kind = MessageTemplateValueKind.QUICK_ACTION; + + /** + * Get the kind property: The type discriminator describing a template parameter type. + * + * @return the kind value. + */ + @Generated + @Override + public MessageTemplateValueKind getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateText.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateText.java index 614ac5f083f2..5a42e4c25591 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateText.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateText.java @@ -7,13 +7,14 @@ import com.azure.core.annotation.Immutable; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * The message template's text value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = MessageTemplateText.class, visible = true) @JsonTypeName("text") @Immutable public final class MessageTemplateText extends MessageTemplateValue { @@ -23,7 +24,7 @@ public final class MessageTemplateText extends MessageTemplateValue { */ @Generated @JsonProperty(value = "text") - private String text; + private final String text; /** * Creates an instance of MessageTemplateText class. @@ -48,4 +49,23 @@ public MessageTemplateText(@JsonProperty(value = "name") String refValue, public String getText() { return this.text; } + + /* + * The type discriminator describing a template parameter type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private MessageTemplateValueKind kind = MessageTemplateValueKind.TEXT; + + /** + * Get the kind property: The type discriminator describing a template parameter type. + * + * @return the kind value. + */ + @Generated + @Override + public MessageTemplateValueKind getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValue.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValue.java index 8bd743c3a719..98c96d824ce6 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValue.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValue.java @@ -8,17 +8,14 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * The class describes a parameter of a template. */ -@JsonTypeInfo( - use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, - property = "kind", - defaultImpl = MessageTemplateValue.class) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = MessageTemplateValue.class, visible = true) @JsonTypeName("MessageTemplateValue") @JsonSubTypes({ @JsonSubTypes.Type(name = "text", value = MessageTemplateText.class), @@ -35,7 +32,7 @@ public abstract class MessageTemplateValue { */ @Generated @JsonProperty(value = "name") - private String refValue; + private final String refValue; /** * Creates an instance of MessageTemplateValue class. @@ -45,6 +42,7 @@ public abstract class MessageTemplateValue { @Generated @JsonCreator protected MessageTemplateValue(@JsonProperty(value = "name") String refValue) { + this.kind = MessageTemplateValueKind.fromString("MessageTemplateValue"); this.refValue = refValue; } @@ -57,4 +55,22 @@ protected MessageTemplateValue(@JsonProperty(value = "name") String refValue) { public String getRefValue() { return this.refValue; } + + /* + * The type discriminator describing a template parameter type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private MessageTemplateValueKind kind; + + /** + * Get the kind property: The type discriminator describing a template parameter type. + * + * @return the kind value. + */ + @Generated + public MessageTemplateValueKind getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValueKind.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValueKind.java new file mode 100644 index 000000000000..3a5366dfef07 --- /dev/null +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValueKind.java @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.communication.messages.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of the template parameter. + */ +public final class MessageTemplateValueKind extends ExpandableStringEnum { + + /** + * The text template parameter type. + */ + @Generated + public static final MessageTemplateValueKind TEXT = fromString("text"); + + /** + * The image template parameter type. + */ + @Generated + public static final MessageTemplateValueKind IMAGE = fromString("image"); + + /** + * The document template parameter type. + */ + @Generated + public static final MessageTemplateValueKind DOCUMENT = fromString("document"); + + /** + * The video template parameter type. + */ + @Generated + public static final MessageTemplateValueKind VIDEO = fromString("video"); + + /** + * The location template parameter type. + */ + @Generated + public static final MessageTemplateValueKind LOCATION = fromString("location"); + + /** + * The quick action template parameter type. + */ + @Generated + public static final MessageTemplateValueKind QUICK_ACTION = fromString("quickAction"); + + /** + * Creates a new instance of MessageTemplateValueKind value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public MessageTemplateValueKind() { + } + + /** + * Creates or finds a MessageTemplateValueKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding MessageTemplateValueKind. + */ + @Generated + @JsonCreator + public static MessageTemplateValueKind fromString(String name) { + return fromString(name, MessageTemplateValueKind.class); + } + + /** + * Gets known MessageTemplateValueKind values. + * + * @return known MessageTemplateValueKind values. + */ + @Generated + public static Collection values() { + return values(MessageTemplateValueKind.class); + } +} diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateVideo.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateVideo.java index e2dbf8220477..4f59128477a2 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateVideo.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateVideo.java @@ -7,13 +7,14 @@ import com.azure.core.annotation.Generated; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * The message template's video value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = MessageTemplateVideo.class, visible = true) @JsonTypeName("video") @Fluent public final class MessageTemplateVideo extends MessageTemplateValue { @@ -23,7 +24,7 @@ public final class MessageTemplateVideo extends MessageTemplateValue { */ @Generated @JsonProperty(value = "url") - private String url; + private final String url; /* * The [optional] caption of the media object. @@ -106,4 +107,23 @@ public MessageTemplateVideo setFileName(String fileName) { this.fileName = fileName; return this; } + + /* + * The type discriminator describing a template parameter type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private MessageTemplateValueKind kind = MessageTemplateValueKind.VIDEO; + + /** + * Get the kind property: The type discriminator describing a template parameter type. + * + * @return the kind value. + */ + @Generated + @Override + public MessageTemplateValueKind getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/NotificationContent.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/NotificationContent.java index a5d15b252f74..55df2e03f14b 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/NotificationContent.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/NotificationContent.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; import java.util.List; @@ -15,11 +16,7 @@ /** * Details of the message to send. */ -@JsonTypeInfo( - use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, - property = "kind", - defaultImpl = NotificationContent.class) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = NotificationContent.class, visible = true) @JsonTypeName("NotificationContent") @JsonSubTypes({ @JsonSubTypes.Type(name = "text", value = TextNotificationContent.class), @@ -33,14 +30,14 @@ public abstract class NotificationContent { */ @Generated @JsonProperty(value = "channelRegistrationId") - private String channelRegistrationId; + private final String channelRegistrationId; /* * The native external platform user identifiers of the recipient. */ @Generated @JsonProperty(value = "to") - private List to; + private final List to; /** * Creates an instance of NotificationContent class. @@ -52,6 +49,7 @@ public abstract class NotificationContent { @JsonCreator protected NotificationContent(@JsonProperty(value = "channelRegistrationId") String channelRegistrationId, @JsonProperty(value = "to") List to) { + this.kind = CommunicationMessageKind.fromString("NotificationContent"); this.channelRegistrationId = channelRegistrationId; this.to = to; } @@ -75,4 +73,22 @@ public String getChannelRegistrationId() { public List getTo() { return this.to; } + + /* + * The type discriminator describing a notification type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private CommunicationMessageKind kind; + + /** + * Get the kind property: The type discriminator describing a notification type. + * + * @return the kind value. + */ + @Generated + public CommunicationMessageKind getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/SendMessageResult.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/SendMessageResult.java index 1b84855cc9e6..e9ac5b4b3e45 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/SendMessageResult.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/SendMessageResult.java @@ -20,7 +20,7 @@ public final class SendMessageResult { */ @Generated @JsonProperty(value = "receipts") - private List receipts; + private final List receipts; /** * Creates an instance of SendMessageResult class. diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TemplateNotificationContent.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TemplateNotificationContent.java index 1d5ecd5b0e75..b8eb3f55f833 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TemplateNotificationContent.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TemplateNotificationContent.java @@ -7,6 +7,7 @@ import com.azure.core.annotation.Immutable; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; import java.util.List; @@ -14,7 +15,11 @@ /** * A request to send a template notification. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = TemplateNotificationContent.class, + visible = true) @JsonTypeName("template") @Immutable public final class TemplateNotificationContent extends NotificationContent { @@ -24,7 +29,7 @@ public final class TemplateNotificationContent extends NotificationContent { */ @Generated @JsonProperty(value = "template") - private MessageTemplate template; + private final MessageTemplate template; /** * Creates an instance of TemplateNotificationContent class. @@ -50,4 +55,23 @@ public TemplateNotificationContent(@JsonProperty(value = "channelRegistrationId" public MessageTemplate getTemplate() { return this.template; } + + /* + * The type discriminator describing a notification type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private CommunicationMessageKind kind = CommunicationMessageKind.TEMPLATE; + + /** + * Get the kind property: The type discriminator describing a notification type. + * + * @return the kind value. + */ + @Generated + @Override + public CommunicationMessageKind getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TextNotificationContent.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TextNotificationContent.java index 26172050593b..4419f21f4ec5 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TextNotificationContent.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TextNotificationContent.java @@ -7,6 +7,7 @@ import com.azure.core.annotation.Immutable; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; import java.util.List; @@ -14,7 +15,11 @@ /** * A request to send a text notification. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = TextNotificationContent.class, + visible = true) @JsonTypeName("text") @Immutable public final class TextNotificationContent extends NotificationContent { @@ -24,7 +29,7 @@ public final class TextNotificationContent extends NotificationContent { */ @Generated @JsonProperty(value = "content") - private String content; + private final String content; /** * Creates an instance of TextNotificationContent class. @@ -50,4 +55,23 @@ public TextNotificationContent(@JsonProperty(value = "channelRegistrationId") St public String getContent() { return this.content; } + + /* + * The type discriminator describing a notification type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private CommunicationMessageKind kind = CommunicationMessageKind.TEXT; + + /** + * Get the kind property: The type discriminator describing a notification type. + * + * @return the kind value. + */ + @Generated + @Override + public CommunicationMessageKind getKind() { + return this.kind; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindings.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindings.java index 1e7c09255a0c..4e29d1596a39 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindings.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindings.java @@ -4,9 +4,11 @@ package com.azure.communication.messages.models.channels; import com.azure.communication.messages.models.MessageTemplateBindings; +import com.azure.communication.messages.models.MessageTemplateBindingsKind; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; import java.util.List; @@ -14,7 +16,11 @@ /** * The template bindings for WhatsApp. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = WhatsAppMessageTemplateBindings.class, + visible = true) @JsonTypeName("whatsApp") @Fluent public final class WhatsAppMessageTemplateBindings extends MessageTemplateBindings { @@ -142,4 +148,23 @@ public WhatsAppMessageTemplateBindings setButtons(List - * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistItems (Required): [
@@ -66,9 +66,9 @@ public final class BlocklistAsyncClient {
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItems (Required): [
@@ -102,18 +102,17 @@ public Mono> addOrUpdateBlocklistItemsWithResponse(String n
      * Create Or Update Text Blocklist
      *
      * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
      *     description: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -134,8 +133,6 @@ public Mono> addOrUpdateBlocklistItemsWithResponse(String n
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> createOrUpdateTextBlocklistWithResponse(String name, BinaryData options,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'createOrUpdateTextBlocklist' is
-        // 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.createOrUpdateTextBlocklistWithResponseAsync(name, options, requestOptions);
     }
 
@@ -162,9 +159,8 @@ public Mono> deleteTextBlocklistWithResponse(String name, Request
      * Get Text Blocklist By blocklistName
      *
      * Returns text blocklist details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -190,9 +186,8 @@ public Mono> getTextBlocklistWithResponse(String name, Requ
      * Get BlocklistItem By blocklistName And blocklistItemId
      *
      * Get blocklistItem by blocklistName and blocklistItemId from a text blocklist.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -222,40 +217,17 @@ public Mono> getTextBlocklistItemWithResponse(String name,
      * Get All BlocklistItems By blocklistName
      *
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -282,9 +254,8 @@ public PagedFlux listTextBlocklistItems(String name, RequestOptions
      * Get All Text Blocklists
      *
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -309,9 +280,8 @@ public PagedFlux listTextBlocklists(RequestOptions requestOptions) {
      * Remove BlocklistItems From Text Blocklist
      *
      * Remove blocklistItems from a text blocklist. You can remove at most 100 BlocklistItems in one request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistItemIds (Required): [
@@ -462,11 +432,13 @@ public PagedFlux listTextBlocklistItems(String name, Integer
         }
         PagedFlux pagedFluxResponse = listTextBlocklistItems(name, requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(TextBlocklistItem.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -494,11 +466,13 @@ public PagedFlux listTextBlocklistItems(String name) {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listTextBlocklistItems(name, requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(TextBlocklistItem.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -524,11 +498,13 @@ public PagedFlux listTextBlocklists() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listTextBlocklists(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(TextBlocklist.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -558,4 +534,32 @@ public Mono removeBlocklistItems(String name, RemoveTextBlocklistItemsOpti
         return removeBlocklistItemsWithResponse(name, BinaryData.fromObject(options), requestOptions)
             .flatMap(FluxUtil::toMono);
     }
+
+    /**
+     * Create Or Update Text Blocklist
+     *
+     * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
+     *
+     * @param name Text blocklist name.
+     * @param options The resource instance.
+     * @throws IllegalArgumentException thrown if parameters fail the validation.
+     * @throws HttpResponseException thrown if the request is rejected by server.
+     * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+     * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+     * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+     * @return text Blocklist on successful completion of {@link Mono}.
+     */
+    @Generated
+    @ServiceMethod(returns = ReturnType.SINGLE)
+    public Mono createOrUpdateTextBlocklist(String name, TextBlocklist options) {
+        // Generated convenience method for createOrUpdateTextBlocklistWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        JsonMergePatchHelper.getTextBlocklistAccessor().prepareModelForJsonMergePatch(options, true);
+        BinaryData optionsInBinaryData = BinaryData.fromBytes(BinaryData.fromObject(options).toBytes());
+        JsonMergePatchHelper.getTextBlocklistAccessor().prepareModelForJsonMergePatch(options, false);
+        return createOrUpdateTextBlocklistWithResponse(name, optionsInBinaryData, requestOptions)
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(TextBlocklist.class));
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClient.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClient.java
index 9d50db14d61a..0436da5bf5b9 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClient.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClient.java
@@ -4,6 +4,7 @@
 package com.azure.ai.contentsafety;
 
 import com.azure.ai.contentsafety.implementation.BlocklistClientImpl;
+import com.azure.ai.contentsafety.implementation.JsonMergePatchHelper;
 import com.azure.ai.contentsafety.models.AddOrUpdateTextBlocklistItemsOptions;
 import com.azure.ai.contentsafety.models.AddOrUpdateTextBlocklistItemsResult;
 import com.azure.ai.contentsafety.models.RemoveTextBlocklistItemsOptions;
@@ -46,9 +47,8 @@ public final class BlocklistClient {
      *
      * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one
      * request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistItems (Required): [
@@ -60,9 +60,9 @@ public final class BlocklistClient {
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItems (Required): [
@@ -95,18 +95,17 @@ public Response addOrUpdateBlocklistItemsWithResponse(String name, B
      * Create Or Update Text Blocklist
      *
      * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
      *     description: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -127,8 +126,6 @@ public Response addOrUpdateBlocklistItemsWithResponse(String name, B
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response createOrUpdateTextBlocklistWithResponse(String name, BinaryData options,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'createOrUpdateTextBlocklist' is
-        // 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.createOrUpdateTextBlocklistWithResponse(name, options, requestOptions);
     }
 
@@ -155,9 +152,8 @@ public Response deleteTextBlocklistWithResponse(String name, RequestOption
      * Get Text Blocklist By blocklistName
      *
      * Returns text blocklist details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -183,9 +179,8 @@ public Response getTextBlocklistWithResponse(String name, RequestOpt
      * Get BlocklistItem By blocklistName And blocklistItemId
      *
      * Get blocklistItem by blocklistName and blocklistItemId from a text blocklist.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -214,40 +209,17 @@ public Response getTextBlocklistItemWithResponse(String name, String
      * Get All BlocklistItems By blocklistName
      *
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -274,9 +246,8 @@ public PagedIterable listTextBlocklistItems(String name, RequestOpti
      * Get All Text Blocklists
      *
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -301,9 +272,8 @@ public PagedIterable listTextBlocklists(RequestOptions requestOption
      * Remove BlocklistItems From Text Blocklist
      *
      * Remove blocklistItems from a text blocklist. You can remove at most 100 BlocklistItems in one request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistItemIds (Required): [
@@ -517,4 +487,31 @@ public void removeBlocklistItems(String name, RemoveTextBlocklistItemsOptions op
         RequestOptions requestOptions = new RequestOptions();
         removeBlocklistItemsWithResponse(name, BinaryData.fromObject(options), requestOptions).getValue();
     }
+
+    /**
+     * Create Or Update Text Blocklist
+     *
+     * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
+     *
+     * @param name Text blocklist name.
+     * @param options The resource instance.
+     * @throws IllegalArgumentException thrown if parameters fail the validation.
+     * @throws HttpResponseException thrown if the request is rejected by server.
+     * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+     * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+     * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+     * @return text Blocklist.
+     */
+    @Generated
+    @ServiceMethod(returns = ReturnType.SINGLE)
+    public TextBlocklist createOrUpdateTextBlocklist(String name, TextBlocklist options) {
+        // Generated convenience method for createOrUpdateTextBlocklistWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        JsonMergePatchHelper.getTextBlocklistAccessor().prepareModelForJsonMergePatch(options, true);
+        BinaryData optionsInBinaryData = BinaryData.fromBytes(BinaryData.fromObject(options).toBytes());
+        JsonMergePatchHelper.getTextBlocklistAccessor().prepareModelForJsonMergePatch(options, false);
+        return createOrUpdateTextBlocklistWithResponse(name, optionsInBinaryData, requestOptions).getValue()
+            .toObject(TextBlocklist.class);
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClientBuilder.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClientBuilder.java
index 69a756753b58..26c28b77525e 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClientBuilder.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClientBuilder.java
@@ -23,8 +23,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -87,7 +87,7 @@ public BlocklistClientBuilder() {
     @Override
     public BlocklistClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -302,7 +302,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -313,12 +314,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyAsyncClient.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyAsyncClient.java
index b689c8a0642e..3942fde7bc59 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyAsyncClient.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyAsyncClient.java
@@ -47,9 +47,8 @@ public final class ContentSafetyAsyncClient {
      *
      * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories:
      * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     text: String (Required)
@@ -63,9 +62,9 @@ public final class ContentSafetyAsyncClient {
      *     outputType: String(FourSeverityLevels/EightSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistsMatch (Optional): [
@@ -103,9 +102,8 @@ public Mono> analyzeTextWithResponse(BinaryData options, Re
      *
      * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories:
      * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     image (Required): {
@@ -118,9 +116,9 @@ public Mono> analyzeTextWithResponse(BinaryData options, Re
      *     outputType: String(FourSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     categoriesAnalysis (Required): [
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClient.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClient.java
index bfde1c9964b6..61a3ecc129a4 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClient.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClient.java
@@ -45,9 +45,8 @@ public final class ContentSafetyClient {
      *
      * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories:
      * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     text: String (Required)
@@ -61,9 +60,9 @@ public final class ContentSafetyClient {
      *     outputType: String(FourSeverityLevels/EightSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistsMatch (Optional): [
@@ -101,9 +100,8 @@ public Response analyzeTextWithResponse(BinaryData options, RequestO
      *
      * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories:
      * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     image (Required): {
@@ -116,9 +114,9 @@ public Response analyzeTextWithResponse(BinaryData options, RequestO
      *     outputType: String(FourSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     categoriesAnalysis (Required): [
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClientBuilder.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClientBuilder.java
index 66d449e02fe8..4e0803ef53b7 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClientBuilder.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClientBuilder.java
@@ -23,8 +23,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -87,7 +87,7 @@ public ContentSafetyClientBuilder() {
     @Override
     public ContentSafetyClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -302,7 +302,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -313,12 +314,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/BlocklistClientImpl.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/BlocklistClientImpl.java
index eedb893f17d2..9e6b8118a5a4 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/BlocklistClientImpl.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/BlocklistClientImpl.java
@@ -378,9 +378,8 @@ Response listTextBlocklistsNextSync(@PathParam(value = "nextLink", e
      * 
      * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one
      * request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistItems (Required): [
@@ -392,9 +391,9 @@ Response listTextBlocklistsNextSync(@PathParam(value = "nextLink", e
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItems (Required): [
@@ -430,9 +429,8 @@ public Mono> addOrUpdateBlocklistItemsWithResponseAsync(Str
      * 
      * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one
      * request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistItems (Required): [
@@ -444,9 +442,9 @@ public Mono> addOrUpdateBlocklistItemsWithResponseAsync(Str
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItems (Required): [
@@ -480,18 +478,17 @@ public Response addOrUpdateBlocklistItemsWithResponse(String name, B
      * Create Or Update Text Blocklist
      * 
      * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
      *     description: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -521,18 +518,17 @@ public Mono> createOrUpdateTextBlocklistWithResponseAsync(S
      * Create Or Update Text Blocklist
      * 
      * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
      *     description: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -602,9 +598,8 @@ public Response deleteTextBlocklistWithResponse(String name, RequestOption
      * Get Text Blocklist By blocklistName
      * 
      * Returns text blocklist details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -631,9 +626,8 @@ public Mono> getTextBlocklistWithResponseAsync(String name,
      * Get Text Blocklist By blocklistName
      * 
      * Returns text blocklist details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -660,9 +654,8 @@ public Response getTextBlocklistWithResponse(String name, RequestOpt
      * Get BlocklistItem By blocklistName And blocklistItemId
      * 
      * Get blocklistItem by blocklistName and blocklistItemId from a text blocklist.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -693,9 +686,8 @@ public Mono> getTextBlocklistItemWithResponseAsync(String n
      * Get BlocklistItem By blocklistName And blocklistItemId
      * 
      * Get blocklistItem by blocklistName and blocklistItemId from a text blocklist.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -725,40 +717,17 @@ public Response getTextBlocklistItemWithResponse(String name, String
      * Get All BlocklistItems By blocklistName
      * 
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -791,40 +760,17 @@ private Mono> listTextBlocklistItemsSinglePageAsync(St
      * Get All BlocklistItems By blocklistName
      * 
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -874,40 +820,17 @@ public PagedFlux listTextBlocklistItemsAsync(String name, RequestOpt
      * Get All BlocklistItems By blocklistName
      * 
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -937,40 +860,17 @@ private PagedResponse listTextBlocklistItemsSinglePage(String name,
      * Get All BlocklistItems By blocklistName
      * 
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -1020,9 +920,8 @@ public PagedIterable listTextBlocklistItems(String name, RequestOpti
      * Get All Text Blocklists
      * 
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -1051,9 +950,8 @@ private Mono> listTextBlocklistsSinglePageAsync(Reques
      * Get All Text Blocklists
      * 
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -1081,9 +979,8 @@ public PagedFlux listTextBlocklistsAsync(RequestOptions requestOptio
      * Get All Text Blocklists
      * 
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -1111,9 +1008,8 @@ private PagedResponse listTextBlocklistsSinglePage(RequestOptions re
      * Get All Text Blocklists
      * 
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -1141,9 +1037,8 @@ public PagedIterable listTextBlocklists(RequestOptions requestOption
      * Remove BlocklistItems From Text Blocklist
      * 
      * Remove blocklistItems from a text blocklist. You can remove at most 100 BlocklistItems in one request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistItemIds (Required): [
@@ -1173,9 +1068,8 @@ public Mono> removeBlocklistItemsWithResponseAsync(String name, B
      * Remove BlocklistItems From Text Blocklist
      * 
      * Remove blocklistItems from a text blocklist. You can remove at most 100 BlocklistItems in one request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     blocklistItemIds (Required): [
@@ -1205,9 +1099,8 @@ public Response removeBlocklistItemsWithResponse(String name, BinaryData o
      * Get All BlocklistItems By blocklistName
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -1242,9 +1135,8 @@ private Mono> listTextBlocklistItemsNextSinglePageAsyn
      * Get All BlocklistItems By blocklistName
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -1277,9 +1169,8 @@ private PagedResponse listTextBlocklistItemsNextSinglePage(String ne
      * Get All Text Blocklists
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
@@ -1312,9 +1203,8 @@ private Mono> listTextBlocklistsNextSinglePageAsync(St
      * Get All Text Blocklists
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistName: String (Required)
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/ContentSafetyClientImpl.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/ContentSafetyClientImpl.java
index 74de26118073..5c24a16c86a4 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/ContentSafetyClientImpl.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/ContentSafetyClientImpl.java
@@ -198,9 +198,8 @@ Response analyzeImageSync(@HostParam("endpoint") String endpoint,
      * 
      * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories:
      * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     text: String (Required)
@@ -214,9 +213,9 @@ Response analyzeImageSync(@HostParam("endpoint") String endpoint,
      *     outputType: String(FourSeverityLevels/EightSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistsMatch (Optional): [
@@ -255,9 +254,8 @@ public Mono> analyzeTextWithResponseAsync(BinaryData option
      * 
      * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories:
      * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     text: String (Required)
@@ -271,9 +269,9 @@ public Mono> analyzeTextWithResponseAsync(BinaryData option
      *     outputType: String(FourSeverityLevels/EightSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     blocklistsMatch (Optional): [
@@ -312,9 +310,8 @@ public Response analyzeTextWithResponse(BinaryData options, RequestO
      * 
      * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories:
      * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     image (Required): {
@@ -327,9 +324,9 @@ public Response analyzeTextWithResponse(BinaryData options, RequestO
      *     outputType: String(FourSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     categoriesAnalysis (Required): [
@@ -361,9 +358,8 @@ public Mono> analyzeImageWithResponseAsync(BinaryData optio
      * 
      * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories:
      * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     image (Required): {
@@ -376,9 +372,9 @@ public Mono> analyzeImageWithResponseAsync(BinaryData optio
      *     outputType: String(FourSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     categoriesAnalysis (Required): [
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsOptions.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsOptions.java
index f2fe1ed9153e..07b171f647d9 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsOptions.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsOptions.java
@@ -5,22 +5,25 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The request to add blocklistItems to a text blocklist.
  */
 @Immutable
-public final class AddOrUpdateTextBlocklistItemsOptions {
+public final class AddOrUpdateTextBlocklistItemsOptions
+    implements JsonSerializable {
 
     /*
      * Array of blocklistItems to add.
      */
     @Generated
-    @JsonProperty(value = "blocklistItems")
-    private List blocklistItems;
+    private final List blocklistItems;
 
     /**
      * Creates an instance of AddOrUpdateTextBlocklistItemsOptions class.
@@ -28,9 +31,7 @@ public final class AddOrUpdateTextBlocklistItemsOptions {
      * @param blocklistItems the blocklistItems value to set.
      */
     @Generated
-    @JsonCreator
-    public AddOrUpdateTextBlocklistItemsOptions(
-        @JsonProperty(value = "blocklistItems") List blocklistItems) {
+    public AddOrUpdateTextBlocklistItemsOptions(List blocklistItems) {
         this.blocklistItems = blocklistItems;
     }
 
@@ -43,4 +44,42 @@ public AddOrUpdateTextBlocklistItemsOptions(
     public List getBlocklistItems() {
         return this.blocklistItems;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("blocklistItems", this.blocklistItems,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AddOrUpdateTextBlocklistItemsOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AddOrUpdateTextBlocklistItemsOptions if the JsonReader was pointing to an instance of it,
+     * or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AddOrUpdateTextBlocklistItemsOptions.
+     */
+    @Generated
+    public static AddOrUpdateTextBlocklistItemsOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List blocklistItems = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistItems".equals(fieldName)) {
+                    blocklistItems = reader.readArray(reader1 -> TextBlocklistItem.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AddOrUpdateTextBlocklistItemsOptions(blocklistItems);
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsResult.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsResult.java
index 15fd4cb3e3b2..5f870f41d4a6 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsResult.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsResult.java
@@ -5,22 +5,25 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The response of adding blocklistItems to the text blocklist.
  */
 @Immutable
-public final class AddOrUpdateTextBlocklistItemsResult {
+public final class AddOrUpdateTextBlocklistItemsResult
+    implements JsonSerializable {
 
     /*
      * Array of blocklistItems have been added.
      */
     @Generated
-    @JsonProperty(value = "blocklistItems")
-    private List blocklistItems;
+    private final List blocklistItems;
 
     /**
      * Creates an instance of AddOrUpdateTextBlocklistItemsResult class.
@@ -28,9 +31,7 @@ public final class AddOrUpdateTextBlocklistItemsResult {
      * @param blocklistItems the blocklistItems value to set.
      */
     @Generated
-    @JsonCreator
-    private AddOrUpdateTextBlocklistItemsResult(
-        @JsonProperty(value = "blocklistItems") List blocklistItems) {
+    private AddOrUpdateTextBlocklistItemsResult(List blocklistItems) {
         this.blocklistItems = blocklistItems;
     }
 
@@ -43,4 +44,42 @@ private AddOrUpdateTextBlocklistItemsResult(
     public List getBlocklistItems() {
         return this.blocklistItems;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("blocklistItems", this.blocklistItems,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AddOrUpdateTextBlocklistItemsResult from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AddOrUpdateTextBlocklistItemsResult if the JsonReader was pointing to an instance of it,
+     * or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AddOrUpdateTextBlocklistItemsResult.
+     */
+    @Generated
+    public static AddOrUpdateTextBlocklistItemsResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List blocklistItems = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistItems".equals(fieldName)) {
+                    blocklistItems = reader.readArray(reader1 -> TextBlocklistItem.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AddOrUpdateTextBlocklistItemsResult(blocklistItems);
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOptions.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOptions.java
index d599b95471f7..444a656f376a 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOptions.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOptions.java
@@ -5,37 +5,35 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The image analysis request.
  */
 @Fluent
-public final class AnalyzeImageOptions {
+public final class AnalyzeImageOptions implements JsonSerializable {
 
     /*
      * The image needs to be analyzed.
      */
     @Generated
-    @JsonProperty(value = "image")
-    private ContentSafetyImageData image;
+    private final ContentSafetyImageData image;
 
     /*
-     * The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories
-     * will be returned.
+     * The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories will be returned.
      */
     @Generated
-    @JsonProperty(value = "categories")
     private List categories;
 
     /*
-     * This refers to the type of image analysis output. If no value is assigned, the default value will be
-     * "FourSeverityLevels".
+     * This refers to the type of image analysis output. If no value is assigned, the default value will be "FourSeverityLevels".
      */
     @Generated
-    @JsonProperty(value = "outputType")
     private AnalyzeImageOutputType outputType;
 
     /**
@@ -44,8 +42,7 @@ public final class AnalyzeImageOptions {
      * @param image the image value to set.
      */
     @Generated
-    @JsonCreator
-    public AnalyzeImageOptions(@JsonProperty(value = "image") ContentSafetyImageData image) {
+    public AnalyzeImageOptions(ContentSafetyImageData image) {
         this.image = image;
     }
 
@@ -60,8 +57,8 @@ public ContentSafetyImageData getImage() {
     }
 
     /**
-     * Get the categories property: The categories will be analyzed. If they are not assigned, a default set of
-     * analysis results for the categories will be returned.
+     * Get the categories property: The categories will be analyzed. If they are not assigned, a default set of analysis
+     * results for the categories will be returned.
      *
      * @return the categories value.
      */
@@ -71,8 +68,8 @@ public List getCategories() {
     }
 
     /**
-     * Set the categories property: The categories will be analyzed. If they are not assigned, a default set of
-     * analysis results for the categories will be returned.
+     * Set the categories property: The categories will be analyzed. If they are not assigned, a default set of analysis
+     * results for the categories will be returned.
      *
      * @param categories the categories value to set.
      * @return the AnalyzeImageOptions object itself.
@@ -106,4 +103,53 @@ public AnalyzeImageOptions setOutputType(AnalyzeImageOutputType outputType) {
         this.outputType = outputType;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeJsonField("image", this.image);
+        jsonWriter.writeArrayField("categories", this.categories,
+            (writer, element) -> writer.writeString(element == null ? null : element.toString()));
+        jsonWriter.writeStringField("outputType", this.outputType == null ? null : this.outputType.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeImageOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeImageOptions if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeImageOptions.
+     */
+    @Generated
+    public static AnalyzeImageOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ContentSafetyImageData image = null;
+            List categories = null;
+            AnalyzeImageOutputType outputType = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("image".equals(fieldName)) {
+                    image = ContentSafetyImageData.fromJson(reader);
+                } else if ("categories".equals(fieldName)) {
+                    categories = reader.readArray(reader1 -> ImageCategory.fromString(reader1.getString()));
+                } else if ("outputType".equals(fieldName)) {
+                    outputType = AnalyzeImageOutputType.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AnalyzeImageOptions deserializedAnalyzeImageOptions = new AnalyzeImageOptions(image);
+            deserializedAnalyzeImageOptions.categories = categories;
+            deserializedAnalyzeImageOptions.outputType = outputType;
+            return deserializedAnalyzeImageOptions;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOutputType.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOutputType.java
index 26b19f3b75a4..8633e572854a 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOutputType.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOutputType.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -36,7 +35,6 @@ public AnalyzeImageOutputType() {
      * @return the corresponding AnalyzeImageOutputType.
      */
     @Generated
-    @JsonCreator
     public static AnalyzeImageOutputType fromString(String name) {
         return fromString(name, AnalyzeImageOutputType.class);
     }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageResult.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageResult.java
index c81638c92d42..08105f1e3fc7 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageResult.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageResult.java
@@ -5,22 +5,24 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The image analysis response.
  */
 @Immutable
-public final class AnalyzeImageResult {
+public final class AnalyzeImageResult implements JsonSerializable {
 
     /*
      * Analysis result for categories.
      */
     @Generated
-    @JsonProperty(value = "categoriesAnalysis")
-    private List categoriesAnalysis;
+    private final List categoriesAnalysis;
 
     /**
      * Creates an instance of AnalyzeImageResult class.
@@ -28,9 +30,7 @@ public final class AnalyzeImageResult {
      * @param categoriesAnalysis the categoriesAnalysis value to set.
      */
     @Generated
-    @JsonCreator
-    private AnalyzeImageResult(
-        @JsonProperty(value = "categoriesAnalysis") List categoriesAnalysis) {
+    private AnalyzeImageResult(List categoriesAnalysis) {
         this.categoriesAnalysis = categoriesAnalysis;
     }
 
@@ -43,4 +43,42 @@ private AnalyzeImageResult(
     public List getCategoriesAnalysis() {
         return this.categoriesAnalysis;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("categoriesAnalysis", this.categoriesAnalysis,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeImageResult from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeImageResult if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeImageResult.
+     */
+    @Generated
+    public static AnalyzeImageResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List categoriesAnalysis = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("categoriesAnalysis".equals(fieldName)) {
+                    categoriesAnalysis = reader.readArray(reader1 -> ImageCategoriesAnalysis.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AnalyzeImageResult(categoriesAnalysis);
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOptions.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOptions.java
index 21ff6f5a2dd7..e344fe2e60ec 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOptions.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOptions.java
@@ -5,53 +5,47 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The text analysis request.
  */
 @Fluent
-public final class AnalyzeTextOptions {
+public final class AnalyzeTextOptions implements JsonSerializable {
 
     /*
-     * The text needs to be analyzed. We support a maximum of 10k Unicode characters (Unicode code points) in the text
-     * of one request.
+     * The text needs to be analyzed. We support a maximum of 10k Unicode characters (Unicode code points) in the text of one request.
      */
     @Generated
-    @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /*
-     * The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories
-     * will be returned.
+     * The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories will be returned.
      */
     @Generated
-    @JsonProperty(value = "categories")
     private List categories;
 
     /*
      * The names of blocklists.
      */
     @Generated
-    @JsonProperty(value = "blocklistNames")
     private List blocklistNames;
 
     /*
-     * When set to true, further analyses of harmful content will not be performed in cases where blocklists are hit.
-     * When set to false, all analyses of harmful content will be performed, whether or not blocklists are hit.
+     * When set to true, further analyses of harmful content will not be performed in cases where blocklists are hit. When set to false, all analyses of harmful content will be performed, whether or not blocklists are hit.
      */
     @Generated
-    @JsonProperty(value = "haltOnBlocklistHit")
     private Boolean haltOnBlocklistHit;
 
     /*
-     * This refers to the type of text analysis output. If no value is assigned, the default value will be
-     * "FourSeverityLevels".
+     * This refers to the type of text analysis output. If no value is assigned, the default value will be "FourSeverityLevels".
      */
     @Generated
-    @JsonProperty(value = "outputType")
     private AnalyzeTextOutputType outputType;
 
     /**
@@ -60,8 +54,7 @@ public final class AnalyzeTextOptions {
      * @param text the text value to set.
      */
     @Generated
-    @JsonCreator
-    public AnalyzeTextOptions(@JsonProperty(value = "text") String text) {
+    public AnalyzeTextOptions(String text) {
         this.text = text;
     }
 
@@ -77,8 +70,8 @@ public String getText() {
     }
 
     /**
-     * Get the categories property: The categories will be analyzed. If they are not assigned, a default set of
-     * analysis results for the categories will be returned.
+     * Get the categories property: The categories will be analyzed. If they are not assigned, a default set of analysis
+     * results for the categories will be returned.
      *
      * @return the categories value.
      */
@@ -88,8 +81,8 @@ public List getCategories() {
     }
 
     /**
-     * Set the categories property: The categories will be analyzed. If they are not assigned, a default set of
-     * analysis results for the categories will be returned.
+     * Set the categories property: The categories will be analyzed. If they are not assigned, a default set of analysis
+     * results for the categories will be returned.
      *
      * @param categories the categories value to set.
      * @return the AnalyzeTextOptions object itself.
@@ -171,4 +164,64 @@ public AnalyzeTextOptions setOutputType(AnalyzeTextOutputType outputType) {
         this.outputType = outputType;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", this.text);
+        jsonWriter.writeArrayField("categories", this.categories,
+            (writer, element) -> writer.writeString(element == null ? null : element.toString()));
+        jsonWriter.writeArrayField("blocklistNames", this.blocklistNames,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeBooleanField("haltOnBlocklistHit", this.haltOnBlocklistHit);
+        jsonWriter.writeStringField("outputType", this.outputType == null ? null : this.outputType.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeTextOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeTextOptions if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeTextOptions.
+     */
+    @Generated
+    public static AnalyzeTextOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String text = null;
+            List categories = null;
+            List blocklistNames = null;
+            Boolean haltOnBlocklistHit = null;
+            AnalyzeTextOutputType outputType = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else if ("categories".equals(fieldName)) {
+                    categories = reader.readArray(reader1 -> TextCategory.fromString(reader1.getString()));
+                } else if ("blocklistNames".equals(fieldName)) {
+                    blocklistNames = reader.readArray(reader1 -> reader1.getString());
+                } else if ("haltOnBlocklistHit".equals(fieldName)) {
+                    haltOnBlocklistHit = reader.getNullable(JsonReader::getBoolean);
+                } else if ("outputType".equals(fieldName)) {
+                    outputType = AnalyzeTextOutputType.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AnalyzeTextOptions deserializedAnalyzeTextOptions = new AnalyzeTextOptions(text);
+            deserializedAnalyzeTextOptions.categories = categories;
+            deserializedAnalyzeTextOptions.blocklistNames = blocklistNames;
+            deserializedAnalyzeTextOptions.haltOnBlocklistHit = haltOnBlocklistHit;
+            deserializedAnalyzeTextOptions.outputType = outputType;
+            return deserializedAnalyzeTextOptions;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOutputType.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOutputType.java
index 25a21e33b6de..a091101e1cc1 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOutputType.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOutputType.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public AnalyzeTextOutputType() {
      * @return the corresponding AnalyzeTextOutputType.
      */
     @Generated
-    @JsonCreator
     public static AnalyzeTextOutputType fromString(String name) {
         return fromString(name, AnalyzeTextOutputType.class);
     }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextResult.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextResult.java
index 21a0a6d33936..d5187de9e87f 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextResult.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextResult.java
@@ -5,29 +5,30 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The text analysis response.
  */
 @Immutable
-public final class AnalyzeTextResult {
+public final class AnalyzeTextResult implements JsonSerializable {
 
     /*
      * The blocklist match details.
      */
     @Generated
-    @JsonProperty(value = "blocklistsMatch")
     private List blocklistsMatch;
 
     /*
      * Analysis result for categories.
      */
     @Generated
-    @JsonProperty(value = "categoriesAnalysis")
-    private List categoriesAnalysis;
+    private final List categoriesAnalysis;
 
     /**
      * Creates an instance of AnalyzeTextResult class.
@@ -35,9 +36,7 @@ public final class AnalyzeTextResult {
      * @param categoriesAnalysis the categoriesAnalysis value to set.
      */
     @Generated
-    @JsonCreator
-    private AnalyzeTextResult(
-        @JsonProperty(value = "categoriesAnalysis") List categoriesAnalysis) {
+    private AnalyzeTextResult(List categoriesAnalysis) {
         this.categoriesAnalysis = categoriesAnalysis;
     }
 
@@ -60,4 +59,49 @@ public List getBlocklistsMatch() {
     public List getCategoriesAnalysis() {
         return this.categoriesAnalysis;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("categoriesAnalysis", this.categoriesAnalysis,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("blocklistsMatch", this.blocklistsMatch,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeTextResult from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeTextResult if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeTextResult.
+     */
+    @Generated
+    public static AnalyzeTextResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List categoriesAnalysis = null;
+            List blocklistsMatch = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("categoriesAnalysis".equals(fieldName)) {
+                    categoriesAnalysis = reader.readArray(reader1 -> TextCategoriesAnalysis.fromJson(reader1));
+                } else if ("blocklistsMatch".equals(fieldName)) {
+                    blocklistsMatch = reader.readArray(reader1 -> TextBlocklistMatch.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AnalyzeTextResult deserializedAnalyzeTextResult = new AnalyzeTextResult(categoriesAnalysis);
+            deserializedAnalyzeTextResult.blocklistsMatch = blocklistsMatch;
+            return deserializedAnalyzeTextResult;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ContentSafetyImageData.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ContentSafetyImageData.java
index 9097a10a7d78..7a79f6d7a5dc 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ContentSafetyImageData.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ContentSafetyImageData.java
@@ -5,29 +5,31 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import com.azure.core.util.BinaryData;
-import com.fasterxml.jackson.annotation.JsonProperty;
 
 /**
  * The image can be either base64 encoded bytes or a blob URL. You can choose only one of these options. If both are
- * provided, the request will be refused. The maximum image size is 2048 x 2048 pixels and should not exceed 4 MB,
- * while the minimum image size is 50 x 50 pixels.
+ * provided, the request will be refused. The maximum image size is 2048 x 2048 pixels and should not exceed 4 MB, while
+ * the minimum image size is 50 x 50 pixels.
  */
 @Fluent
-public final class ContentSafetyImageData {
+public final class ContentSafetyImageData implements JsonSerializable {
 
     /*
      * The Base64 encoding of the image.
      */
     @Generated
-    @JsonProperty(value = "content")
     private byte[] content;
 
     /*
      * The blob url of the image.
      */
     @Generated
-    @JsonProperty(value = "blobUrl")
     private String blobUrl;
 
     /**
@@ -78,4 +80,43 @@ public ContentSafetyImageData setBlobUrl(String blobUrl) {
         this.blobUrl = blobUrl;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeBinaryField("content", this.content);
+        jsonWriter.writeStringField("blobUrl", this.blobUrl);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ContentSafetyImageData from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ContentSafetyImageData if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ContentSafetyImageData.
+     */
+    @Generated
+    public static ContentSafetyImageData fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ContentSafetyImageData deserializedContentSafetyImageData = new ContentSafetyImageData();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("content".equals(fieldName)) {
+                    deserializedContentSafetyImageData.content = reader.getBinary();
+                } else if ("blobUrl".equals(fieldName)) {
+                    deserializedContentSafetyImageData.blobUrl = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedContentSafetyImageData;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategoriesAnalysis.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategoriesAnalysis.java
index 478642f2ee5a..134d175690d3 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategoriesAnalysis.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategoriesAnalysis.java
@@ -5,29 +5,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Image analysis result.
  */
 @Immutable
-public final class ImageCategoriesAnalysis {
+public final class ImageCategoriesAnalysis implements JsonSerializable {
 
     /*
      * The image analysis category.
      */
     @Generated
-    @JsonProperty(value = "category")
-    private ImageCategory category;
+    private final ImageCategory category;
 
     /*
-     * The value increases with the severity of the input content. The value of this field is determined by the output
-     * type specified in the request. The output type could be ‘FourSeverityLevels’, and the output value can be 0, 2,
-     * 4, 6.
+     * The value increases with the severity of the input content. The value of this field is determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’, and the output value can be 0, 2, 4, 6.
      */
     @Generated
-    @JsonProperty(value = "severity")
     private Integer severity;
 
     /**
@@ -36,8 +35,7 @@ public final class ImageCategoriesAnalysis {
      * @param category the category value to set.
      */
     @Generated
-    @JsonCreator
-    private ImageCategoriesAnalysis(@JsonProperty(value = "category") ImageCategory category) {
+    private ImageCategoriesAnalysis(ImageCategory category) {
         this.category = category;
     }
 
@@ -52,9 +50,9 @@ public ImageCategory getCategory() {
     }
 
     /**
-     * Get the severity property: The value increases with the severity of the input content. The value of this field
-     * is determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’, and
-     * the output value can be 0, 2, 4, 6.
+     * Get the severity property: The value increases with the severity of the input content. The value of this field is
+     * determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’, and the
+     * output value can be 0, 2, 4, 6.
      *
      * @return the severity value.
      */
@@ -62,4 +60,47 @@ public ImageCategory getCategory() {
     public Integer getSeverity() {
         return this.severity;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("severity", this.severity);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ImageCategoriesAnalysis from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ImageCategoriesAnalysis if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ImageCategoriesAnalysis.
+     */
+    @Generated
+    public static ImageCategoriesAnalysis fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ImageCategory category = null;
+            Integer severity = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("category".equals(fieldName)) {
+                    category = ImageCategory.fromString(reader.getString());
+                } else if ("severity".equals(fieldName)) {
+                    severity = reader.getNullable(JsonReader::getInt);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            ImageCategoriesAnalysis deserializedImageCategoriesAnalysis = new ImageCategoriesAnalysis(category);
+            deserializedImageCategoriesAnalysis.severity = severity;
+            return deserializedImageCategoriesAnalysis;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategory.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategory.java
index 36ceb6947c51..67ee0baa0779 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategory.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategory.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -54,7 +53,6 @@ public ImageCategory() {
      * @return the corresponding ImageCategory.
      */
     @Generated
-    @JsonCreator
     public static ImageCategory fromString(String name) {
         return fromString(name, ImageCategory.class);
     }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/RemoveTextBlocklistItemsOptions.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/RemoveTextBlocklistItemsOptions.java
index f98bd7536e89..bdd2409adca5 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/RemoveTextBlocklistItemsOptions.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/RemoveTextBlocklistItemsOptions.java
@@ -5,22 +5,24 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The request to remove blocklistItems from a text blocklist.
  */
 @Immutable
-public final class RemoveTextBlocklistItemsOptions {
+public final class RemoveTextBlocklistItemsOptions implements JsonSerializable {
 
     /*
      * Array of blocklistItemIds to remove.
      */
     @Generated
-    @JsonProperty(value = "blocklistItemIds")
-    private List blocklistItemIds;
+    private final List blocklistItemIds;
 
     /**
      * Creates an instance of RemoveTextBlocklistItemsOptions class.
@@ -28,8 +30,7 @@ public final class RemoveTextBlocklistItemsOptions {
      * @param blocklistItemIds the blocklistItemIds value to set.
      */
     @Generated
-    @JsonCreator
-    public RemoveTextBlocklistItemsOptions(@JsonProperty(value = "blocklistItemIds") List blocklistItemIds) {
+    public RemoveTextBlocklistItemsOptions(List blocklistItemIds) {
         this.blocklistItemIds = blocklistItemIds;
     }
 
@@ -42,4 +43,42 @@ public RemoveTextBlocklistItemsOptions(@JsonProperty(value = "blocklistItemIds")
     public List getBlocklistItemIds() {
         return this.blocklistItemIds;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("blocklistItemIds", this.blocklistItemIds,
+            (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RemoveTextBlocklistItemsOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RemoveTextBlocklistItemsOptions if the JsonReader was pointing to an instance of it, or
+     * null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RemoveTextBlocklistItemsOptions.
+     */
+    @Generated
+    public static RemoveTextBlocklistItemsOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List blocklistItemIds = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistItemIds".equals(fieldName)) {
+                    blocklistItemIds = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new RemoveTextBlocklistItemsOptions(blocklistItemIds);
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklist.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklist.java
index 841d73776133..68b04ccfe07c 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklist.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklist.java
@@ -3,28 +3,33 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.ai.contentsafety.models;
 
+import com.azure.ai.contentsafety.implementation.JsonMergePatchHelper;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
 
 /**
  * Text Blocklist.
  */
 @Fluent
-public final class TextBlocklist {
+public final class TextBlocklist implements JsonSerializable {
 
     /*
      * Text blocklist name.
      */
     @Generated
-    @JsonProperty(value = "blocklistName", access = JsonProperty.Access.WRITE_ONLY)
     private String name;
 
     /*
      * Text blocklist description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /**
@@ -63,6 +68,88 @@ public String getDescription() {
     @Generated
     public TextBlocklist setDescription(String description) {
         this.description = description;
+        this.updatedProperties.add("description");
         return this;
     }
+
+    @Generated
+    private boolean jsonMergePatch;
+
+    /**
+     * Stores updated model property, the value is property name, not serialized name.
+     */
+    @Generated
+    private final Set updatedProperties = new HashSet<>();
+
+    @Generated
+    void serializeAsJsonMergePatch(boolean jsonMergePatch) {
+        this.jsonMergePatch = jsonMergePatch;
+    }
+
+    static {
+        JsonMergePatchHelper.setTextBlocklistAccessor((model, jsonMergePatchEnabled) -> {
+            model.serializeAsJsonMergePatch(jsonMergePatchEnabled);
+            return model;
+        });
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        if (jsonMergePatch) {
+            return toJsonMergePatch(jsonWriter);
+        } else {
+            jsonWriter.writeStartObject();
+            jsonWriter.writeStringField("description", this.description);
+            return jsonWriter.writeEndObject();
+        }
+    }
+
+    @Generated
+    private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        if (updatedProperties.contains("description")) {
+            if (this.description == null) {
+                jsonWriter.writeNullField("description");
+            } else {
+                jsonWriter.writeStringField("description", this.description);
+            }
+        }
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TextBlocklist from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TextBlocklist if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TextBlocklist.
+     */
+    @Generated
+    public static TextBlocklist fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String name = null;
+            String description = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistName".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            TextBlocklist deserializedTextBlocklist = new TextBlocklist();
+            deserializedTextBlocklist.name = name;
+            deserializedTextBlocklist.description = description;
+            return deserializedTextBlocklist;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistItem.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistItem.java
index b14a3c043d88..407283f31eec 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistItem.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistItem.java
@@ -5,35 +5,35 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Item in a TextBlocklist.
  */
 @Fluent
-public final class TextBlocklistItem {
+public final class TextBlocklistItem implements JsonSerializable {
 
     /*
      * The service will generate a BlocklistItemId, which will be a UUID.
      */
     @Generated
-    @JsonProperty(value = "blocklistItemId", access = JsonProperty.Access.WRITE_ONLY)
     private String blocklistItemId;
 
     /*
      * BlocklistItem description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * BlocklistItem content.
      */
     @Generated
-    @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /**
      * Creates an instance of TextBlocklistItem class.
@@ -41,8 +41,7 @@ public final class TextBlocklistItem {
      * @param text the text value to set.
      */
     @Generated
-    @JsonCreator
-    public TextBlocklistItem(@JsonProperty(value = "text") String text) {
+    public TextBlocklistItem(String text) {
         this.text = text;
     }
 
@@ -87,4 +86,51 @@ public TextBlocklistItem setDescription(String description) {
     public String getText() {
         return this.text;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", this.text);
+        jsonWriter.writeStringField("description", this.description);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TextBlocklistItem from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TextBlocklistItem if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TextBlocklistItem.
+     */
+    @Generated
+    public static TextBlocklistItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String blocklistItemId = null;
+            String text = null;
+            String description = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistItemId".equals(fieldName)) {
+                    blocklistItemId = reader.getString();
+                } else if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            TextBlocklistItem deserializedTextBlocklistItem = new TextBlocklistItem(text);
+            deserializedTextBlocklistItem.blocklistItemId = blocklistItemId;
+            deserializedTextBlocklistItem.description = description;
+            return deserializedTextBlocklistItem;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistMatch.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistMatch.java
index e12e49b2c84f..c7f7ec860f90 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistMatch.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistMatch.java
@@ -5,35 +5,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The result of blocklist match.
  */
 @Immutable
-public final class TextBlocklistMatch {
+public final class TextBlocklistMatch implements JsonSerializable {
 
     /*
      * The name of the matched blocklist.
      */
     @Generated
-    @JsonProperty(value = "blocklistName")
-    private String blocklistName;
+    private final String blocklistName;
 
     /*
      * The ID of the matched item.
      */
     @Generated
-    @JsonProperty(value = "blocklistItemId")
-    private String blocklistItemId;
+    private final String blocklistItemId;
 
     /*
      * The content of the matched item.
      */
     @Generated
-    @JsonProperty(value = "blocklistItemText")
-    private String blocklistItemText;
+    private final String blocklistItemText;
 
     /**
      * Creates an instance of TextBlocklistMatch class.
@@ -43,10 +43,7 @@ public final class TextBlocklistMatch {
      * @param blocklistItemText the blocklistItemText value to set.
      */
     @Generated
-    @JsonCreator
-    private TextBlocklistMatch(@JsonProperty(value = "blocklistName") String blocklistName,
-        @JsonProperty(value = "blocklistItemId") String blocklistItemId,
-        @JsonProperty(value = "blocklistItemText") String blocklistItemText) {
+    private TextBlocklistMatch(String blocklistName, String blocklistItemId, String blocklistItemText) {
         this.blocklistName = blocklistName;
         this.blocklistItemId = blocklistItemId;
         this.blocklistItemText = blocklistItemText;
@@ -81,4 +78,49 @@ public String getBlocklistItemId() {
     public String getBlocklistItemText() {
         return this.blocklistItemText;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("blocklistName", this.blocklistName);
+        jsonWriter.writeStringField("blocklistItemId", this.blocklistItemId);
+        jsonWriter.writeStringField("blocklistItemText", this.blocklistItemText);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TextBlocklistMatch from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TextBlocklistMatch if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TextBlocklistMatch.
+     */
+    @Generated
+    public static TextBlocklistMatch fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String blocklistName = null;
+            String blocklistItemId = null;
+            String blocklistItemText = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistName".equals(fieldName)) {
+                    blocklistName = reader.getString();
+                } else if ("blocklistItemId".equals(fieldName)) {
+                    blocklistItemId = reader.getString();
+                } else if ("blocklistItemText".equals(fieldName)) {
+                    blocklistItemText = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new TextBlocklistMatch(blocklistName, blocklistItemId, blocklistItemText);
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategoriesAnalysis.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategoriesAnalysis.java
index 623f87ad2535..8a4d8987ce2d 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategoriesAnalysis.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategoriesAnalysis.java
@@ -5,29 +5,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Text analysis result.
  */
 @Immutable
-public final class TextCategoriesAnalysis {
+public final class TextCategoriesAnalysis implements JsonSerializable {
 
     /*
      * The text analysis category.
      */
     @Generated
-    @JsonProperty(value = "category")
-    private TextCategory category;
+    private final TextCategory category;
 
     /*
-     * The value increases with the severity of the input content. The value of this field is determined by the output
-     * type specified in the request. The output type could be ‘FourSeverityLevels’ or ‘EightSeverity Levels’, and the
-     * output value can be 0, 2, 4, 6 or 0, 1, 2, 3, 4, 5, 6, or 7.
+     * The value increases with the severity of the input content. The value of this field is determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’ or ‘EightSeverity Levels’, and the output value can be 0, 2, 4, 6 or 0, 1, 2, 3, 4, 5, 6, or 7.
      */
     @Generated
-    @JsonProperty(value = "severity")
     private Integer severity;
 
     /**
@@ -36,8 +35,7 @@ public final class TextCategoriesAnalysis {
      * @param category the category value to set.
      */
     @Generated
-    @JsonCreator
-    private TextCategoriesAnalysis(@JsonProperty(value = "category") TextCategory category) {
+    private TextCategoriesAnalysis(TextCategory category) {
         this.category = category;
     }
 
@@ -52,8 +50,8 @@ public TextCategory getCategory() {
     }
 
     /**
-     * Get the severity property: The value increases with the severity of the input content. The value of this field
-     * is determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’ or
+     * Get the severity property: The value increases with the severity of the input content. The value of this field is
+     * determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’ or
      * ‘EightSeverity Levels’, and the output value can be 0, 2, 4, 6 or 0, 1, 2, 3, 4, 5, 6, or 7.
      *
      * @return the severity value.
@@ -62,4 +60,47 @@ public TextCategory getCategory() {
     public Integer getSeverity() {
         return this.severity;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("severity", this.severity);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TextCategoriesAnalysis from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TextCategoriesAnalysis if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TextCategoriesAnalysis.
+     */
+    @Generated
+    public static TextCategoriesAnalysis fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            TextCategory category = null;
+            Integer severity = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("category".equals(fieldName)) {
+                    category = TextCategory.fromString(reader.getString());
+                } else if ("severity".equals(fieldName)) {
+                    severity = reader.getNullable(JsonReader::getInt);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            TextCategoriesAnalysis deserializedTextCategoriesAnalysis = new TextCategoriesAnalysis(category);
+            deserializedTextCategoriesAnalysis.severity = severity;
+            return deserializedTextCategoriesAnalysis;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategory.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategory.java
index fb5942c6f1dc..fefbff9e5cb6 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategory.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategory.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -54,7 +53,6 @@ public TextCategory() {
      * @return the corresponding TextCategory.
      */
     @Generated
-    @JsonCreator
     public static TextCategory fromString(String name) {
         return fromString(name, TextCategory.class);
     }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/module-info.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/module-info.java
index 7581ba2c91b9..8dac7644d1b7 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/module-info.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/module-info.java
@@ -4,7 +4,8 @@
 
 module com.azure.ai.contentsafety {
     requires transitive com.azure.core;
+    requires transitive com.azure.json;
     exports com.azure.ai.contentsafety;
     exports com.azure.ai.contentsafety.models;
-    opens com.azure.ai.contentsafety.models to com.azure.core, com.fasterxml.jackson.databind;
+    opens com.azure.ai.contentsafety.models to com.azure.core;
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/test/java/com/azure/ai/contentsafety/generated/ContentSafetyClientTestBase.java b/sdk/contentsafety/azure-ai-contentsafety/src/test/java/com/azure/ai/contentsafety/generated/ContentSafetyClientTestBase.java
deleted file mode 100644
index ba5bcb72dfbe..000000000000
--- a/sdk/contentsafety/azure-ai-contentsafety/src/test/java/com/azure/ai/contentsafety/generated/ContentSafetyClientTestBase.java
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-// Code generated by Microsoft (R) TypeSpec Code Generator.
-
-package com.azure.ai.contentsafety.generated;
-
-// The Java test files under 'generated' package are generated for your reference.
-// If you wish to modify these files, please copy them out of the 'generated' package, and modify there.
-// See https://aka.ms/azsdk/dpg/java/tests for guide on adding a test.
-
-import com.azure.ai.contentsafety.BlocklistClient;
-import com.azure.ai.contentsafety.BlocklistClientBuilder;
-import com.azure.ai.contentsafety.ContentSafetyClient;
-import com.azure.ai.contentsafety.ContentSafetyClientBuilder;
-import com.azure.core.credential.AccessToken;
-import com.azure.core.http.HttpClient;
-import com.azure.core.http.policy.HttpLogDetailLevel;
-import com.azure.core.http.policy.HttpLogOptions;
-import com.azure.core.test.TestMode;
-import com.azure.core.test.TestProxyTestBase;
-import com.azure.core.util.Configuration;
-import com.azure.identity.DefaultAzureCredentialBuilder;
-import java.time.OffsetDateTime;
-import reactor.core.publisher.Mono;
-
-class ContentSafetyClientTestBase extends TestProxyTestBase {
-    protected ContentSafetyClient contentSafetyClient;
-
-    protected BlocklistClient blocklistClient;
-
-    @Override
-    protected void beforeTest() {
-        ContentSafetyClientBuilder contentSafetyClientbuilder = new ContentSafetyClientBuilder()
-            .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint"))
-            .httpClient(HttpClient.createDefault())
-            .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC));
-        if (getTestMode() == TestMode.PLAYBACK) {
-            contentSafetyClientbuilder.httpClient(interceptorManager.getPlaybackClient())
-                .credential(request -> Mono.just(new AccessToken("this_is_a_token", OffsetDateTime.MAX)));
-        } else if (getTestMode() == TestMode.RECORD) {
-            contentSafetyClientbuilder.addPolicy(interceptorManager.getRecordPolicy())
-                .credential(new DefaultAzureCredentialBuilder().build());
-        } else if (getTestMode() == TestMode.LIVE) {
-            contentSafetyClientbuilder.credential(new DefaultAzureCredentialBuilder().build());
-        }
-        contentSafetyClient = contentSafetyClientbuilder.buildClient();
-
-        BlocklistClientBuilder blocklistClientbuilder
-            = new BlocklistClientBuilder().endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint"))
-                .httpClient(HttpClient.createDefault())
-                .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC));
-        if (getTestMode() == TestMode.PLAYBACK) {
-            blocklistClientbuilder.httpClient(interceptorManager.getPlaybackClient())
-                .credential(request -> Mono.just(new AccessToken("this_is_a_token", OffsetDateTime.MAX)));
-        } else if (getTestMode() == TestMode.RECORD) {
-            blocklistClientbuilder.addPolicy(interceptorManager.getRecordPolicy())
-                .credential(new DefaultAzureCredentialBuilder().build());
-        } else if (getTestMode() == TestMode.LIVE) {
-            blocklistClientbuilder.credential(new DefaultAzureCredentialBuilder().build());
-        }
-        blocklistClient = blocklistClientbuilder.buildClient();
-
-    }
-}
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsAsyncClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsAsyncClient.java
index cab2a89dc02f..64e6202fe193 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsAsyncClient.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsAsyncClient.java
@@ -40,28 +40,16 @@ public final class DeploymentEnvironmentsAsyncClient {
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -103,28 +91,16 @@ public PagedFlux listAllEnvironments(String projectName, RequestOpti
 
     /**
      * Lists the environments for a project and user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -168,9 +144,8 @@ public PagedFlux listEnvironments(String projectName, String userId,
 
     /**
      * Gets an environment.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -216,9 +191,8 @@ public Mono> getEnvironmentWithResponse(String projectName,
 
     /**
      * Creates or updates an environment.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -243,9 +217,9 @@ public Mono> getEnvironmentWithResponse(String projectName,
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -293,9 +267,8 @@ public PollerFlux beginCreateOrUpdateEnvironment(String
 
     /**
      * Deletes an environment and all its associated resources.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -333,28 +306,16 @@ public PollerFlux beginDeleteEnvironment(String projectName, S
 
     /**
      * Lists all of the catalogs available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -377,9 +338,8 @@ public PagedFlux listCatalogs(String projectName, RequestOptions req
 
     /**
      * Gets the specified catalog within the project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -405,28 +365,16 @@ public Mono> getCatalogWithResponse(String projectName, Str
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -468,28 +416,16 @@ public PagedFlux listEnvironmentDefinitions(String projectName, Requ
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -533,9 +469,8 @@ public PagedFlux listEnvironmentDefinitionsByCatalog(String projectN
 
     /**
      * Get an environment definition from a catalog.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -582,28 +517,16 @@ public Mono> getEnvironmentDefinitionWithResponse(String pr
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClient.java
index 6146c4ec86e8..d3c61d5ecea2 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClient.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClient.java
@@ -39,28 +39,16 @@ public final class DeploymentEnvironmentsClient {
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -102,28 +90,16 @@ public PagedIterable listAllEnvironments(String projectName, Request
 
     /**
      * Lists the environments for a project and user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -168,9 +144,8 @@ public PagedIterable listEnvironments(String projectName, String use
 
     /**
      * Gets an environment.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -216,9 +191,8 @@ public Response getEnvironmentWithResponse(String projectName, Strin
 
     /**
      * Creates or updates an environment.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -243,9 +217,9 @@ public Response getEnvironmentWithResponse(String projectName, Strin
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -293,9 +267,8 @@ public SyncPoller beginCreateOrUpdateEnvironment(String
 
     /**
      * Deletes an environment and all its associated resources.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -333,28 +306,16 @@ public SyncPoller beginDeleteEnvironment(String projectName, S
 
     /**
      * Lists all of the catalogs available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -377,9 +338,8 @@ public PagedIterable listCatalogs(String projectName, RequestOptions
 
     /**
      * Gets the specified catalog within the project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -404,28 +364,16 @@ public Response getCatalogWithResponse(String projectName, String ca
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -467,28 +415,16 @@ public PagedIterable listEnvironmentDefinitions(String projectName,
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -532,9 +468,8 @@ public PagedIterable listEnvironmentDefinitionsByCatalog(String proj
 
     /**
      * Get an environment definition from a catalog.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -580,28 +515,16 @@ public Response getEnvironmentDefinitionWithResponse(String projectN
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClientBuilder.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClientBuilder.java
index 9cdd4a0e21c5..611f0e4872c1 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClientBuilder.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClientBuilder.java
@@ -21,8 +21,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -85,7 +85,7 @@ public DeploymentEnvironmentsClientBuilder() {
     @Override
     public DeploymentEnvironmentsClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -284,7 +284,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -292,12 +293,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesAsyncClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesAsyncClient.java
index ea05ea7369bc..80b66720a3a7 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesAsyncClient.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesAsyncClient.java
@@ -41,34 +41,17 @@ public final class DevBoxesAsyncClient {
 
     /**
      * Lists available pools.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -117,9 +100,8 @@ public PagedFlux listPools(String projectName, RequestOptions reques
 
     /**
      * Gets a pool.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -170,34 +152,17 @@ public Mono> getPoolWithResponse(String projectName, String
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -225,9 +190,8 @@ public PagedFlux listSchedules(String projectName, String poolName,
 
     /**
      * Gets a schedule.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -257,34 +221,17 @@ public Mono> getScheduleWithResponse(String projectName, St
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -347,34 +294,17 @@ public PagedFlux listAllDevBoxes(RequestOptions requestOptions) {
 
     /**
      * Lists Dev Boxes in the Dev Center for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -439,34 +369,17 @@ public PagedFlux listAllDevBoxesByUser(String userId, RequestOptions
 
     /**
      * Lists Dev Boxes in the project for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -532,9 +445,8 @@ public PagedFlux listDevBoxes(String projectName, String userId, Req
 
     /**
      * Gets a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -602,9 +514,8 @@ public Mono> getDevBoxWithResponse(String projectName, Stri
 
     /**
      * Creates or replaces a Dev Box.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -651,9 +562,9 @@ public Mono> getDevBoxWithResponse(String projectName, Stri
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -722,9 +633,8 @@ public PollerFlux beginCreateDevBox(String projectName,
 
     /**
      * Deletes a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -762,9 +672,8 @@ public PollerFlux beginDeleteDevBox(String projectName, String
 
     /**
      * Starts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -802,28 +711,15 @@ public PollerFlux beginStartDevBox(String projectName, S
 
     /**
      * Stops a Dev Box.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -861,9 +757,8 @@ public PollerFlux beginStopDevBox(String projectName, St
 
     /**
      * Restarts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -901,9 +796,8 @@ public PollerFlux beginRestartDevBox(String projectName,
 
     /**
      * Gets RDP Connection info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     webUrl: String (Optional)
@@ -931,9 +825,8 @@ public Mono> getRemoteConnectionWithResponse(String project
 
     /**
      * Lists actions on a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -966,9 +859,8 @@ public PagedFlux listDevBoxActions(String projectName, String userId
 
     /**
      * Gets an action.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1026,9 +918,8 @@ public Mono> skipActionWithResponse(String projectName, String us
 
     /**
      * Delays the occurrence of an action.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1065,9 +956,8 @@ public Mono> delayActionWithResponse(String projectName, St
 
     /**
      * Delays all actions.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClient.java
index d5be92ade140..4c5ff3646f12 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClient.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClient.java
@@ -40,34 +40,17 @@ public final class DevBoxesClient {
 
     /**
      * Lists available pools.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -116,9 +99,8 @@ public PagedIterable listPools(String projectName, RequestOptions re
 
     /**
      * Gets a pool.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -169,34 +151,17 @@ public Response getPoolWithResponse(String projectName, String poolN
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -224,9 +189,8 @@ public PagedIterable listSchedules(String projectName, String poolNa
 
     /**
      * Gets a schedule.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -256,34 +220,17 @@ public Response getScheduleWithResponse(String projectName, String p
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -346,34 +293,17 @@ public PagedIterable listAllDevBoxes(RequestOptions requestOptions)
 
     /**
      * Lists Dev Boxes in the Dev Center for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -438,34 +368,17 @@ public PagedIterable listAllDevBoxesByUser(String userId, RequestOpt
 
     /**
      * Lists Dev Boxes in the project for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -531,9 +444,8 @@ public PagedIterable listDevBoxes(String projectName, String userId,
 
     /**
      * Gets a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -601,9 +513,8 @@ public Response getDevBoxWithResponse(String projectName, String use
 
     /**
      * Creates or replaces a Dev Box.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -650,9 +561,9 @@ public Response getDevBoxWithResponse(String projectName, String use
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -721,9 +632,8 @@ public SyncPoller beginCreateDevBox(String projectName,
 
     /**
      * Deletes a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -761,9 +671,8 @@ public SyncPoller beginDeleteDevBox(String projectName, String
 
     /**
      * Starts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -801,28 +710,15 @@ public SyncPoller beginStartDevBox(String projectName, S
 
     /**
      * Stops a Dev Box.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -860,9 +756,8 @@ public SyncPoller beginStopDevBox(String projectName, St
 
     /**
      * Restarts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -900,9 +795,8 @@ public SyncPoller beginRestartDevBox(String projectName,
 
     /**
      * Gets RDP Connection info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     webUrl: String (Optional)
@@ -930,9 +824,8 @@ public Response getRemoteConnectionWithResponse(String projectName,
 
     /**
      * Lists actions on a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -965,9 +858,8 @@ public PagedIterable listDevBoxActions(String projectName, String us
 
     /**
      * Gets an action.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1024,9 +916,8 @@ public Response skipActionWithResponse(String projectName, String userId,
 
     /**
      * Delays the occurrence of an action.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1062,9 +953,8 @@ public Response delayActionWithResponse(String projectName, String u
 
     /**
      * Delays all actions.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClientBuilder.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClientBuilder.java
index 74096ac3af6d..1dbb29bf1066 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClientBuilder.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClientBuilder.java
@@ -21,8 +21,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -85,7 +85,7 @@ public DevBoxesClientBuilder() {
     @Override
     public DevBoxesClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -284,7 +284,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -292,12 +293,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterAsyncClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterAsyncClient.java
index fbc50555d967..1499a110003f 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterAsyncClient.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterAsyncClient.java
@@ -39,34 +39,17 @@ public final class DevCenterAsyncClient {
 
     /**
      * Lists all projects.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -90,9 +73,8 @@ public PagedFlux listProjects(RequestOptions requestOptions) {
 
     /**
      * Gets a project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClient.java
index 8370a41568d0..de15c7d82f73 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClient.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClient.java
@@ -38,34 +38,17 @@ public final class DevCenterClient {
 
     /**
      * Lists all projects.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -89,9 +72,8 @@ public PagedIterable listProjects(RequestOptions requestOptions) {
 
     /**
      * Gets a project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClientBuilder.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClientBuilder.java
index 3962552410ca..a95e657fc3f0 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClientBuilder.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClientBuilder.java
@@ -21,8 +21,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -85,7 +85,7 @@ public DevCenterClientBuilder() {
     @Override
     public DevCenterClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -284,7 +284,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -292,12 +293,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DeploymentEnvironmentsClientImpl.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DeploymentEnvironmentsClientImpl.java
index c803e09cc647..684105e58f4f 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DeploymentEnvironmentsClientImpl.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DeploymentEnvironmentsClientImpl.java
@@ -523,28 +523,16 @@ Response listEnvironmentTypesNextSync(
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -592,28 +580,16 @@ private Mono> listAllEnvironmentsSinglePageAsync(Strin
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -658,28 +634,16 @@ public PagedFlux listAllEnvironmentsAsync(String projectName, Reques
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -724,28 +688,16 @@ private PagedResponse listAllEnvironmentsSinglePage(String projectNa
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -790,28 +742,16 @@ public PagedIterable listAllEnvironments(String projectName, Request
 
     /**
      * Lists the environments for a project and user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -861,28 +801,16 @@ private Mono> listEnvironmentsSinglePageAsync(String p
 
     /**
      * Lists the environments for a project and user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -930,28 +858,16 @@ public PagedFlux listEnvironmentsAsync(String projectName, String us
 
     /**
      * Lists the environments for a project and user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -999,28 +915,16 @@ private PagedResponse listEnvironmentsSinglePage(String projectName,
 
     /**
      * Lists the environments for a project and user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -1068,9 +972,8 @@ public PagedIterable listEnvironments(String projectName, String use
 
     /**
      * Gets an environment.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -1118,9 +1021,8 @@ public Mono> getEnvironmentWithResponseAsync(String project
 
     /**
      * Gets an environment.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -1167,9 +1069,8 @@ public Response getEnvironmentWithResponse(String projectName, Strin
 
     /**
      * Creates or updates an environment.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -1194,9 +1095,9 @@ public Response getEnvironmentWithResponse(String projectName, Strin
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -1245,9 +1146,8 @@ private Mono> createOrUpdateEnvironmentWithResponseAsync(St
 
     /**
      * Creates or updates an environment.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -1272,9 +1172,9 @@ private Mono> createOrUpdateEnvironmentWithResponseAsync(St
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -1322,9 +1222,8 @@ private Response createOrUpdateEnvironmentWithResponse(String projec
 
     /**
      * Creates or updates an environment.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -1349,9 +1248,9 @@ private Response createOrUpdateEnvironmentWithResponse(String projec
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -1397,7 +1296,8 @@ public PollerFlux beginCreateOrUpdateEnvironmentAsync(St
                 requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -1405,9 +1305,8 @@ public PollerFlux beginCreateOrUpdateEnvironmentAsync(St
 
     /**
      * Creates or updates an environment.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -1432,9 +1331,9 @@ public PollerFlux beginCreateOrUpdateEnvironmentAsync(St
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -1480,7 +1379,8 @@ public SyncPoller beginCreateOrUpdateEnvironment(String
                 requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -1488,9 +1388,8 @@ public SyncPoller beginCreateOrUpdateEnvironment(String
 
     /**
      * Deletes an environment and all its associated resources.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -1531,9 +1430,8 @@ private Mono> deleteEnvironmentWithResponseAsync(String pro
 
     /**
      * Deletes an environment and all its associated resources.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -1572,9 +1470,8 @@ private Response deleteEnvironmentWithResponse(String projectName, S
 
     /**
      * Deletes an environment and all its associated resources.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -1610,7 +1507,8 @@ public PollerFlux beginDeleteEnvironmentAsync(String projectNa
             () -> this.deleteEnvironmentWithResponseAsync(projectName, userId, environmentName, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class));
@@ -1618,9 +1516,8 @@ public PollerFlux beginDeleteEnvironmentAsync(String projectNa
 
     /**
      * Deletes an environment and all its associated resources.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -1656,7 +1553,8 @@ public SyncPoller beginDeleteEnvironment(String projectName, S
             () -> this.deleteEnvironmentWithResponse(projectName, userId, environmentName, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class));
@@ -1664,28 +1562,16 @@ public SyncPoller beginDeleteEnvironment(String projectName, S
 
     /**
      * Lists all of the catalogs available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1714,28 +1600,16 @@ private Mono> listCatalogsSinglePageAsync(String proje
 
     /**
      * Lists all of the catalogs available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1761,28 +1635,16 @@ public PagedFlux listCatalogsAsync(String projectName, RequestOption
 
     /**
      * Lists all of the catalogs available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1808,28 +1670,16 @@ private PagedResponse listCatalogsSinglePage(String projectName, Req
 
     /**
      * Lists all of the catalogs available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1855,9 +1705,8 @@ public PagedIterable listCatalogs(String projectName, RequestOptions
 
     /**
      * Gets the specified catalog within the project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1884,9 +1733,8 @@ public Mono> getCatalogWithResponseAsync(String projectName
 
     /**
      * Gets the specified catalog within the project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1912,28 +1760,16 @@ public Response getCatalogWithResponse(String projectName, String ca
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -1981,28 +1817,16 @@ private Mono> listEnvironmentDefinitionsSinglePageAsyn
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -2047,28 +1871,16 @@ public PagedFlux listEnvironmentDefinitionsAsync(String projectName,
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -2114,28 +1926,16 @@ private PagedResponse listEnvironmentDefinitionsSinglePage(String pr
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -2180,28 +1980,16 @@ public PagedIterable listEnvironmentDefinitions(String projectName,
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -2250,28 +2038,16 @@ private Mono> listEnvironmentDefinitionsByCatalogSingl
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -2319,28 +2095,16 @@ public PagedFlux listEnvironmentDefinitionsByCatalogAsync(String pro
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -2387,28 +2151,16 @@ private PagedResponse listEnvironmentDefinitionsByCatalogSinglePage(
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -2456,9 +2208,8 @@ public PagedIterable listEnvironmentDefinitionsByCatalog(String proj
 
     /**
      * Get an environment definition from a catalog.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -2506,9 +2257,8 @@ public Mono> getEnvironmentDefinitionWithResponseAsync(Stri
 
     /**
      * Get an environment definition from a catalog.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -2554,28 +2304,16 @@ public Response getEnvironmentDefinitionWithResponse(String projectN
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2606,28 +2344,16 @@ private Mono> listEnvironmentTypesSinglePageAsync(Stri
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2655,28 +2381,16 @@ public PagedFlux listEnvironmentTypesAsync(String projectName, Reque
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2705,28 +2419,16 @@ private PagedResponse listEnvironmentTypesSinglePage(String projectN
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2754,9 +2456,8 @@ public PagedIterable listEnvironmentTypes(String projectName, Reques
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -2805,9 +2506,8 @@ private Mono> listAllEnvironmentsNextSinglePageAsync(S
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -2855,9 +2555,8 @@ private PagedResponse listAllEnvironmentsNextSinglePage(String nextL
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -2907,9 +2606,8 @@ private Mono> listEnvironmentsNextSinglePageAsync(Stri
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     parameters: Object (Optional)
@@ -2956,9 +2654,8 @@ private PagedResponse listEnvironmentsNextSinglePage(String nextLink
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2989,9 +2686,8 @@ private Mono> listCatalogsNextSinglePageAsync(String n
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -3019,9 +2715,8 @@ private PagedResponse listCatalogsNextSinglePage(String nextLink, Re
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -3071,9 +2766,8 @@ private Mono> listEnvironmentDefinitionsNextSinglePage
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -3121,9 +2815,8 @@ private PagedResponse listEnvironmentDefinitionsNextSinglePage(Strin
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -3173,9 +2866,8 @@ private Mono> listEnvironmentDefinitionsByCatalogNextS
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -3223,9 +2915,8 @@ private PagedResponse listEnvironmentDefinitionsByCatalogNextSingleP
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -3257,9 +2948,8 @@ private Mono> listEnvironmentTypesNextSinglePageAsync(
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevBoxesClientImpl.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevBoxesClientImpl.java
index a76aa5cbd3b6..fc384d2d06d6 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevBoxesClientImpl.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevBoxesClientImpl.java
@@ -158,8 +158,7 @@ public DevBoxesClientImpl(HttpPipeline httpPipeline, SerializerAdapter serialize
     }
 
     /**
-     * The interface defining all the services for DevBoxesClient to be used by the proxy service to perform REST
-     * calls.
+     * The interface defining all the services for DevBoxesClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}")
     @ServiceInterface(name = "DevBoxesClient")
@@ -729,34 +728,17 @@ Response delayAllActionsNextSync(@PathParam(value = "nextLink", enco
 
     /**
      * Lists available pools.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -810,34 +792,17 @@ private Mono> listPoolsSinglePageAsync(String projectN
 
     /**
      * Lists available pools.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -889,34 +854,17 @@ public PagedFlux listPoolsAsync(String projectName, RequestOptions r
 
     /**
      * Lists available pools.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -968,34 +916,17 @@ private PagedResponse listPoolsSinglePage(String projectName, Reques
 
     /**
      * Lists available pools.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1047,9 +978,8 @@ public PagedIterable listPools(String projectName, RequestOptions re
 
     /**
      * Gets a pool.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1101,9 +1031,8 @@ public Mono> getPoolWithResponseAsync(String projectName, S
 
     /**
      * Gets a pool.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1155,34 +1084,17 @@ public Response getPoolWithResponse(String projectName, String poolN
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1215,34 +1127,17 @@ private Mono> listSchedulesSinglePageAsync(String proj
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1274,34 +1169,17 @@ public PagedFlux listSchedulesAsync(String projectName, String poolN
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1333,34 +1211,17 @@ private PagedResponse listSchedulesSinglePage(String projectName, St
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1391,9 +1252,8 @@ public PagedIterable listSchedules(String projectName, String poolNa
 
     /**
      * Gets a schedule.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1425,9 +1285,8 @@ public Mono> getScheduleWithResponseAsync(String projectNam
 
     /**
      * Gets a schedule.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1458,34 +1317,17 @@ public Response getScheduleWithResponse(String projectName, String p
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1552,34 +1394,17 @@ private Mono> listAllDevBoxesSinglePageAsync(RequestOp
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1645,34 +1470,17 @@ public PagedFlux listAllDevBoxesAsync(RequestOptions requestOptions)
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1738,34 +1546,17 @@ private PagedResponse listAllDevBoxesSinglePage(RequestOptions reque
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1831,34 +1622,17 @@ public PagedIterable listAllDevBoxes(RequestOptions requestOptions)
 
     /**
      * Lists Dev Boxes in the Dev Center for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -1928,34 +1702,17 @@ private Mono> listAllDevBoxesByUserSinglePageAsync(Str
 
     /**
      * Lists Dev Boxes in the Dev Center for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2023,34 +1780,17 @@ public PagedFlux listAllDevBoxesByUserAsync(String userId, RequestOp
 
     /**
      * Lists Dev Boxes in the Dev Center for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2118,34 +1858,17 @@ private PagedResponse listAllDevBoxesByUserSinglePage(String userId,
 
     /**
      * Lists Dev Boxes in the Dev Center for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2213,34 +1936,17 @@ public PagedIterable listAllDevBoxesByUser(String userId, RequestOpt
 
     /**
      * Lists Dev Boxes in the project for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2311,34 +2017,17 @@ private Mono> listDevBoxesSinglePageAsync(String proje
 
     /**
      * Lists Dev Boxes in the project for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2407,34 +2096,17 @@ public PagedFlux listDevBoxesAsync(String projectName, String userId
 
     /**
      * Lists Dev Boxes in the project for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2504,34 +2176,17 @@ private PagedResponse listDevBoxesSinglePage(String projectName, Str
 
     /**
      * Lists Dev Boxes in the project for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2600,9 +2255,8 @@ public PagedIterable listDevBoxes(String projectName, String userId,
 
     /**
      * Gets a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2671,9 +2325,8 @@ public Mono> getDevBoxWithResponseAsync(String projectName,
 
     /**
      * Gets a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2742,9 +2395,8 @@ public Response getDevBoxWithResponse(String projectName, String use
 
     /**
      * Creates or replaces a Dev Box.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2791,9 +2443,9 @@ public Response getDevBoxWithResponse(String projectName, String use
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2864,9 +2516,8 @@ private Mono> createDevBoxWithResponseAsync(String projectN
 
     /**
      * Creates or replaces a Dev Box.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2913,9 +2564,9 @@ private Mono> createDevBoxWithResponseAsync(String projectN
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -2985,9 +2636,8 @@ private Response createDevBoxWithResponse(String projectName, String
 
     /**
      * Creates or replaces a Dev Box.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -3034,9 +2684,9 @@ private Response createDevBoxWithResponse(String projectName, String
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -3103,7 +2753,8 @@ public PollerFlux beginCreateDevBoxAsync(String projectN
             () -> this.createDevBoxWithResponseAsync(projectName, userId, devBoxName, body, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -3111,9 +2762,8 @@ public PollerFlux beginCreateDevBoxAsync(String projectN
 
     /**
      * Creates or replaces a Dev Box.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -3160,9 +2810,9 @@ public PollerFlux beginCreateDevBoxAsync(String projectN
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -3229,7 +2879,8 @@ public SyncPoller beginCreateDevBox(String projectName,
             () -> this.createDevBoxWithResponse(projectName, userId, devBoxName, body, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -3237,9 +2888,8 @@ public SyncPoller beginCreateDevBox(String projectName,
 
     /**
      * Deletes a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3279,9 +2929,8 @@ private Mono> deleteDevBoxWithResponseAsync(String projectN
 
     /**
      * Deletes a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3320,9 +2969,8 @@ private Response deleteDevBoxWithResponse(String projectName, String
 
     /**
      * Deletes a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3358,7 +3006,8 @@ public PollerFlux beginDeleteDevBoxAsync(String projectName, S
             () -> this.deleteDevBoxWithResponseAsync(projectName, userId, devBoxName, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class));
@@ -3366,9 +3015,8 @@ public PollerFlux beginDeleteDevBoxAsync(String projectName, S
 
     /**
      * Deletes a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3404,7 +3052,8 @@ public SyncPoller beginDeleteDevBox(String projectName, String
             () -> this.deleteDevBoxWithResponse(projectName, userId, devBoxName, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class));
@@ -3412,9 +3061,8 @@ public SyncPoller beginDeleteDevBox(String projectName, String
 
     /**
      * Starts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3454,9 +3102,8 @@ private Mono> startDevBoxWithResponseAsync(String projectNa
 
     /**
      * Starts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3495,9 +3142,8 @@ private Response startDevBoxWithResponse(String projectName, String
 
     /**
      * Starts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3533,7 +3179,8 @@ public PollerFlux beginStartDevBoxAsync(String projectNa
             () -> this.startDevBoxWithResponseAsync(projectName, userId, devBoxName, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -3541,9 +3188,8 @@ public PollerFlux beginStartDevBoxAsync(String projectNa
 
     /**
      * Starts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3579,7 +3225,8 @@ public SyncPoller beginStartDevBox(String projectName, S
             () -> this.startDevBoxWithResponse(projectName, userId, devBoxName, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -3587,28 +3234,15 @@ public SyncPoller beginStartDevBox(String projectName, S
 
     /**
      * Stops a Dev Box.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3648,28 +3282,15 @@ private Mono> stopDevBoxWithResponseAsync(String projectNam
 
     /**
      * Stops a Dev Box.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3708,28 +3329,15 @@ private Response stopDevBoxWithResponse(String projectName, String u
 
     /**
      * Stops a Dev Box.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3765,7 +3373,8 @@ public PollerFlux beginStopDevBoxAsync(String projectNam
             () -> this.stopDevBoxWithResponseAsync(projectName, userId, devBoxName, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -3773,28 +3382,15 @@ public PollerFlux beginStopDevBoxAsync(String projectNam
 
     /**
      * Stops a Dev Box.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3830,7 +3426,8 @@ public SyncPoller beginStopDevBox(String projectName, St
             () -> this.stopDevBoxWithResponse(projectName, userId, devBoxName, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -3838,9 +3435,8 @@ public SyncPoller beginStopDevBox(String projectName, St
 
     /**
      * Restarts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3880,9 +3476,8 @@ private Mono> restartDevBoxWithResponseAsync(String project
 
     /**
      * Restarts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3921,9 +3516,8 @@ private Response restartDevBoxWithResponse(String projectName, Strin
 
     /**
      * Restarts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -3959,7 +3553,8 @@ public PollerFlux beginRestartDevBoxAsync(String project
             () -> this.restartDevBoxWithResponseAsync(projectName, userId, devBoxName, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -3967,9 +3562,8 @@ public PollerFlux beginRestartDevBoxAsync(String project
 
     /**
      * Restarts a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Optional)
@@ -4005,7 +3599,8 @@ public SyncPoller beginRestartDevBox(String projectName,
             () -> this.restartDevBoxWithResponse(projectName, userId, devBoxName, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -4013,9 +3608,8 @@ public SyncPoller beginRestartDevBox(String projectName,
 
     /**
      * Gets RDP Connection info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     webUrl: String (Optional)
@@ -4044,9 +3638,8 @@ public Mono> getRemoteConnectionWithResponseAsync(String pr
 
     /**
      * Gets RDP Connection info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     webUrl: String (Optional)
@@ -4075,9 +3668,8 @@ public Response getRemoteConnectionWithResponse(String projectName,
 
     /**
      * Lists actions on a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4114,9 +3706,8 @@ private Mono> listDevBoxActionsSinglePageAsync(String
 
     /**
      * Lists actions on a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4152,9 +3743,8 @@ public PagedFlux listDevBoxActionsAsync(String projectName, String u
 
     /**
      * Lists actions on a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4191,9 +3781,8 @@ private PagedResponse listDevBoxActionsSinglePage(String projectName
 
     /**
      * Lists actions on a Dev Box.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4229,9 +3818,8 @@ public PagedIterable listDevBoxActions(String projectName, String us
 
     /**
      * Gets an action.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4267,9 +3855,8 @@ public Mono> getDevBoxActionWithResponseAsync(String projec
 
     /**
      * Gets an action.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4351,9 +3938,8 @@ public Response skipActionWithResponse(String projectName, String userId,
 
     /**
      * Delays the occurrence of an action.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4391,9 +3977,8 @@ public Mono> delayActionWithResponseAsync(String projectNam
 
     /**
      * Delays the occurrence of an action.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4429,9 +4014,8 @@ public Response delayActionWithResponse(String projectName, String u
 
     /**
      * Delays all actions.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4485,9 +4069,8 @@ private Mono> delayAllActionsSinglePageAsync(String pr
 
     /**
      * Delays all actions.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4541,9 +4124,8 @@ public PagedFlux delayAllActionsAsync(String projectName, String use
 
     /**
      * Delays all actions.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4597,9 +4179,8 @@ private PagedResponse delayAllActionsSinglePage(String projectName,
 
     /**
      * Delays all actions.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4653,9 +4234,8 @@ public PagedIterable delayAllActions(String projectName, String user
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4711,9 +4291,8 @@ private Mono> listPoolsNextSinglePageAsync(String next
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4767,9 +4346,8 @@ private PagedResponse listPoolsNextSinglePage(String nextLink, Reque
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4803,9 +4381,8 @@ private Mono> listSchedulesNextSinglePageAsync(String
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4837,9 +4414,8 @@ private PagedResponse listSchedulesNextSinglePage(String nextLink, R
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4910,9 +4486,8 @@ private Mono> listAllDevBoxesNextSinglePageAsync(Strin
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -4981,9 +4556,8 @@ private PagedResponse listAllDevBoxesNextSinglePage(String nextLink,
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -5053,9 +4627,8 @@ private Mono> listAllDevBoxesByUserNextSinglePageAsync
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -5125,9 +4698,8 @@ private PagedResponse listAllDevBoxesByUserNextSinglePage(String nex
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -5198,9 +4770,8 @@ private Mono> listDevBoxesNextSinglePageAsync(String n
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -5269,9 +4840,8 @@ private PagedResponse listDevBoxesNextSinglePage(String nextLink, Re
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -5307,9 +4877,8 @@ private Mono> listDevBoxActionsNextSinglePageAsync(Str
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -5343,9 +4912,8 @@ private PagedResponse listDevBoxActionsNextSinglePage(String nextLin
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -5397,9 +4965,8 @@ private Mono> delayAllActionsNextSinglePageAsync(Strin
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevCenterClientImpl.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevCenterClientImpl.java
index c752754c2de2..384eeae884cf 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevCenterClientImpl.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevCenterClientImpl.java
@@ -215,34 +215,17 @@ Response listProjectsNextSync(@PathParam(value = "nextLink", encoded
 
     /**
      * Lists all projects.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -271,34 +254,17 @@ private Mono> listProjectsSinglePageAsync(RequestOptio
 
     /**
      * Lists all projects.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -325,34 +291,17 @@ public PagedFlux listProjectsAsync(RequestOptions requestOptions) {
 
     /**
      * Lists all projects.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -379,34 +328,17 @@ private PagedResponse listProjectsSinglePage(RequestOptions requestO
 
     /**
      * Lists all projects.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. + * Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -433,9 +365,8 @@ public PagedIterable listProjects(RequestOptions requestOptions) {
 
     /**
      * Gets a project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -461,9 +392,8 @@ public Mono> getProjectWithResponseAsync(String projectName
 
     /**
      * Gets a project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -489,9 +419,8 @@ public Response getProjectWithResponse(String projectName, RequestOp
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
@@ -524,9 +453,8 @@ private Mono> listProjectsNextSinglePageAsync(String n
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/module-info.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/module-info.java
index 1f5da06735a2..0cd84ce11065 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/module-info.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/module-info.java
@@ -4,5 +4,6 @@
 
 module com.azure.developer.devcenter {
     requires transitive com.azure.core;
+    requires transitive com.azure.json;
     exports com.azure.developer.devcenter;
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationAsyncClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationAsyncClient.java
index a7c3e1826c8f..6304945f5f61 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationAsyncClient.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationAsyncClient.java
@@ -58,9 +58,8 @@ public final class DocumentIntelligenceAdministrationAsyncClient {
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -97,9 +96,8 @@ public PollerFlux beginBuildDocumentModel(BinaryData bui
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -133,9 +131,8 @@ public PollerFlux beginComposeModel(BinaryData composeRe
     /**
      * Generates authorization to copy a document model to this location with
      * specified modelId and optional description.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -145,9 +142,9 @@ public PollerFlux beginComposeModel(BinaryData composeRe
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -177,9 +174,8 @@ public Mono> authorizeModelCopyWithResponse(BinaryData auth
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -209,9 +205,8 @@ public PollerFlux beginCopyModelTo(String modelId, Binar
 
     /**
      * Gets detailed document model information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -277,9 +272,8 @@ public Mono> getModelWithResponse(String modelId, RequestOp
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -361,9 +355,8 @@ public Mono> deleteModelWithResponse(String modelId, RequestOptio
 
     /**
      * Return information about the current resource.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     customDocumentModels (Required): {
@@ -394,11 +387,11 @@ public Mono> getResourceInfoWithResponse(RequestOptions req
 
     /**
      * Gets operation info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -441,11 +434,11 @@ public Mono> getOperationWithResponse(String operationId, R
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -487,9 +480,8 @@ public PagedFlux listOperations(RequestOptions requestOptions) {
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -528,9 +520,8 @@ public PollerFlux beginBuildClassifier(BinaryData buildR
 
     /**
      * Gets detailed document classifier information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -579,9 +570,8 @@ public Mono> getClassifierWithResponse(String classifierId,
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -705,7 +695,8 @@ public Mono authorizeModelCopy(AuthorizeCopyRequest authorize
         // Generated convenience method for authorizeModelCopyWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return authorizeModelCopyWithResponse(BinaryData.fromObject(authorizeCopyRequest), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(CopyAuthorization.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(CopyAuthorization.class));
     }
 
     /**
@@ -769,12 +760,14 @@ public PagedFlux listModels() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listModels(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux
                 .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                     pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                    pagedResponse.getValue().stream()
+                    pagedResponse.getValue()
+                        .stream()
                         .map(protocolMethodData -> protocolMethodData.toObject(DocumentModelDetails.class))
                         .collect(Collectors.toList()),
                     pagedResponse.getContinuationToken(), null));
@@ -858,11 +851,13 @@ public PagedFlux listOperations() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listOperations(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(OperationDetails.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -928,12 +923,14 @@ public PagedFlux listClassifiers() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listClassifiers(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux
                 .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                     pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                    pagedResponse.getValue().stream()
+                    pagedResponse.getValue()
+                        .stream()
                         .map(protocolMethodData -> protocolMethodData.toObject(DocumentClassifierDetails.class))
                         .collect(Collectors.toList()),
                     pagedResponse.getContinuationToken(), null));
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClient.java
index ed0a01190682..3e103d81d680 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClient.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClient.java
@@ -52,9 +52,8 @@ public final class DocumentIntelligenceAdministrationClient {
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -91,9 +90,8 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -127,9 +125,8 @@ public SyncPoller beginComposeModel(BinaryData composeRe
     /**
      * Generates authorization to copy a document model to this location with
      * specified modelId and optional description.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -139,9 +136,9 @@ public SyncPoller beginComposeModel(BinaryData composeRe
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -171,9 +168,8 @@ public Response authorizeModelCopyWithResponse(BinaryData authorizeC
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -203,9 +199,8 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
 
     /**
      * Gets detailed document model information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -271,9 +266,8 @@ public Response getModelWithResponse(String modelId, RequestOptions
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -355,9 +349,8 @@ public Response deleteModelWithResponse(String modelId, RequestOptions req
 
     /**
      * Return information about the current resource.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     customDocumentModels (Required): {
@@ -387,11 +380,11 @@ public Response getResourceInfoWithResponse(RequestOptions requestOp
 
     /**
      * Gets operation info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -434,11 +427,11 @@ public Response getOperationWithResponse(String operationId, Request
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -480,9 +473,8 @@ public PagedIterable listOperations(RequestOptions requestOptions) {
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -521,9 +513,8 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
 
     /**
      * Gets detailed document classifier information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -571,9 +562,8 @@ public Response getClassifierWithResponse(String classifierId, Reque
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClientBuilder.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClientBuilder.java
index 4baf4386cb7a..8a8d8d5609eb 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClientBuilder.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClientBuilder.java
@@ -24,8 +24,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -94,7 +94,7 @@ public DocumentIntelligenceAdministrationClientBuilder() {
     @Override
     public DocumentIntelligenceAdministrationClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -310,7 +310,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -321,12 +322,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAsyncClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAsyncClient.java
index ff01580c45b1..233212f46a16 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAsyncClient.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAsyncClient.java
@@ -47,61 +47,27 @@ public final class DocumentIntelligenceAsyncClient {
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. + * "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value + * may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of + * "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. + * "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. + * Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -125,35 +91,18 @@ public PollerFlux beginAnalyzeDocument(String modelId, R
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", + * "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -214,12 +163,18 @@ public PollerFlux beginAnalyzeDo
             requestOptions.addQueryParam("stringIndexType", stringIndexType.toString(), false);
         }
         if (features != null) {
-            requestOptions.addQueryParam("features", features.stream()
-                .map(paramItemValue -> Objects.toString(paramItemValue, "")).collect(Collectors.joining(",")), false);
+            requestOptions.addQueryParam("features",
+                features.stream()
+                    .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+                    .collect(Collectors.joining(",")),
+                false);
         }
         if (queryFields != null) {
-            requestOptions.addQueryParam("queryFields", queryFields.stream()
-                .map(paramItemValue -> Objects.toString(paramItemValue, "")).collect(Collectors.joining(",")), false);
+            requestOptions.addQueryParam("queryFields",
+                queryFields.stream()
+                    .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+                    .collect(Collectors.joining(",")),
+                false);
         }
         if (outputContentFormat != null) {
             requestOptions.addQueryParam("outputContentFormat", outputContentFormat.toString(), false);
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClient.java
index 7de7f301da67..cf217610c271 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClient.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClient.java
@@ -47,61 +47,27 @@ public final class DocumentIntelligenceClient {
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. + * "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value + * may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of + * "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. + * "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. + * Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -125,35 +91,18 @@ public SyncPoller beginAnalyzeDocument(String modelId, R
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", + * "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -214,12 +163,18 @@ public SyncPoller beginAnalyzeDo
             requestOptions.addQueryParam("stringIndexType", stringIndexType.toString(), false);
         }
         if (features != null) {
-            requestOptions.addQueryParam("features", features.stream()
-                .map(paramItemValue -> Objects.toString(paramItemValue, "")).collect(Collectors.joining(",")), false);
+            requestOptions.addQueryParam("features",
+                features.stream()
+                    .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+                    .collect(Collectors.joining(",")),
+                false);
         }
         if (queryFields != null) {
-            requestOptions.addQueryParam("queryFields", queryFields.stream()
-                .map(paramItemValue -> Objects.toString(paramItemValue, "")).collect(Collectors.joining(",")), false);
+            requestOptions.addQueryParam("queryFields",
+                queryFields.stream()
+                    .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+                    .collect(Collectors.joining(",")),
+                false);
         }
         if (outputContentFormat != null) {
             requestOptions.addQueryParam("outputContentFormat", outputContentFormat.toString(), false);
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClientBuilder.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClientBuilder.java
index e38af6d5b54d..fcd0b18c2a2f 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClientBuilder.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClientBuilder.java
@@ -24,8 +24,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -88,7 +88,7 @@ public DocumentIntelligenceClientBuilder() {
     @Override
     public DocumentIntelligenceClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -303,7 +303,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -314,12 +315,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceAdministrationClientImpl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceAdministrationClientImpl.java
index 3abf6bda7ef7..72a3fa228996 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceAdministrationClientImpl.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceAdministrationClientImpl.java
@@ -518,9 +518,8 @@ Response listClassifiersNextSync(@PathParam(value = "nextLink", enco
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -558,9 +557,8 @@ private Mono> buildDocumentModelWithResponseAsync(BinaryData buil
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -597,9 +595,8 @@ private Response buildDocumentModelWithResponse(BinaryData buildRequest, R
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -634,7 +631,8 @@ public PollerFlux beginBuildDocumentModelAsync(BinaryDat
             () -> this.buildDocumentModelWithResponseAsync(buildRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -642,9 +640,8 @@ public PollerFlux beginBuildDocumentModelAsync(BinaryDat
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -679,7 +676,8 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
             () -> this.buildDocumentModelWithResponse(buildRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -687,9 +685,8 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -724,7 +721,8 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
             () -> this.buildDocumentModelWithResponseAsync(buildRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelBuildOperationDetails.class),
@@ -733,9 +731,8 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -770,7 +767,8 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
             () -> this.buildDocumentModelWithResponse(buildRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelBuildOperationDetails.class),
@@ -779,9 +777,8 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -815,9 +812,8 @@ private Mono> composeModelWithResponseAsync(BinaryData composeReq
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -850,9 +846,8 @@ private Response composeModelWithResponse(BinaryData composeRequest, Reque
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -883,7 +878,8 @@ public PollerFlux beginComposeModelAsync(BinaryData comp
             () -> this.composeModelWithResponseAsync(composeRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -891,9 +887,8 @@ public PollerFlux beginComposeModelAsync(BinaryData comp
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -924,7 +919,8 @@ public SyncPoller beginComposeModel(BinaryData composeRe
             () -> this.composeModelWithResponse(composeRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -932,9 +928,8 @@ public SyncPoller beginComposeModel(BinaryData composeRe
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -965,7 +960,8 @@ public SyncPoller beginComposeModel(BinaryData composeRe
             () -> this.composeModelWithResponseAsync(composeRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelComposeOperationDetails.class),
@@ -974,9 +970,8 @@ public SyncPoller beginComposeModel(BinaryData composeRe
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -1007,7 +1002,8 @@ public SyncPoller beginComposeModel(BinaryData composeRe
             () -> this.composeModelWithResponse(composeRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelComposeOperationDetails.class),
@@ -1017,9 +1013,8 @@ public SyncPoller beginComposeModel(BinaryData composeRe
     /**
      * Generates authorization to copy a document model to this location with
      * specified modelId and optional description.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -1029,9 +1024,9 @@ public SyncPoller beginComposeModel(BinaryData composeRe
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1063,9 +1058,8 @@ public Mono> authorizeModelCopyWithResponseAsync(BinaryData
     /**
      * Generates authorization to copy a document model to this location with
      * specified modelId and optional description.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -1075,9 +1069,9 @@ public Mono> authorizeModelCopyWithResponseAsync(BinaryData
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1108,9 +1102,8 @@ public Response authorizeModelCopyWithResponse(BinaryData authorizeC
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1141,9 +1134,8 @@ private Mono> copyModelToWithResponseAsync(String modelId, Binary
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1174,9 +1166,8 @@ private Response copyModelToWithResponse(String modelId, BinaryData copyTo
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1204,7 +1195,8 @@ public PollerFlux beginCopyModelToAsync(String modelId,
             () -> this.copyModelToWithResponseAsync(modelId, copyToRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -1212,9 +1204,8 @@ public PollerFlux beginCopyModelToAsync(String modelId,
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1242,7 +1233,8 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
             () -> this.copyModelToWithResponse(modelId, copyToRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -1250,9 +1242,8 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1280,7 +1271,8 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
             () -> this.copyModelToWithResponseAsync(modelId, copyToRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelCopyToOperationDetails.class),
@@ -1289,9 +1281,8 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1319,7 +1310,8 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
             () -> this.copyModelToWithResponse(modelId, copyToRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelCopyToOperationDetails.class),
@@ -1328,9 +1320,8 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
 
     /**
      * Gets detailed document model information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -1397,9 +1388,8 @@ public Mono> getModelWithResponseAsync(String modelId, Requ
 
     /**
      * Gets detailed document model information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -1466,9 +1456,8 @@ public Response getModelWithResponse(String modelId, RequestOptions
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -1538,9 +1527,8 @@ private Mono> listModelsSinglePageAsync(RequestOptions
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -1608,9 +1596,8 @@ public PagedFlux listModelsAsync(RequestOptions requestOptions) {
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -1678,9 +1665,8 @@ private PagedResponse listModelsSinglePage(RequestOptions requestOpt
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -1784,9 +1770,8 @@ public Response deleteModelWithResponse(String modelId, RequestOptions req
 
     /**
      * Return information about the current resource.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     customDocumentModels (Required): {
@@ -1818,9 +1803,8 @@ public Mono> getResourceInfoWithResponseAsync(RequestOption
 
     /**
      * Return information about the current resource.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     customDocumentModels (Required): {
@@ -1851,11 +1835,11 @@ public Response getResourceInfoWithResponse(RequestOptions requestOp
 
     /**
      * Gets operation info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -1899,11 +1883,11 @@ public Mono> getOperationWithResponseAsync(String operation
 
     /**
      * Gets operation info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -1947,11 +1931,11 @@ public Response getOperationWithResponse(String operationId, Request
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -1998,11 +1982,11 @@ private Mono> listOperationsSinglePageAsync(RequestOpt
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -2047,11 +2031,11 @@ public PagedFlux listOperationsAsync(RequestOptions requestOptions)
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -2096,11 +2080,11 @@ private PagedResponse listOperationsSinglePage(RequestOptions reques
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -2145,9 +2129,8 @@ public PagedIterable listOperations(RequestOptions requestOptions) {
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2187,9 +2170,8 @@ private Mono> buildClassifierWithResponseAsync(BinaryData buildRe
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2228,9 +2210,8 @@ private Response buildClassifierWithResponse(BinaryData buildRequest, Requ
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2267,7 +2248,8 @@ public PollerFlux beginBuildClassifierAsync(BinaryData b
             () -> this.buildClassifierWithResponseAsync(buildRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -2275,9 +2257,8 @@ public PollerFlux beginBuildClassifierAsync(BinaryData b
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2314,7 +2295,8 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
             () -> this.buildClassifierWithResponse(buildRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -2322,9 +2304,8 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2361,7 +2342,8 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
             () -> this.buildClassifierWithResponseAsync(buildRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentClassifierBuildOperationDetails.class),
@@ -2370,9 +2352,8 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2409,7 +2390,8 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
             () -> this.buildClassifierWithResponse(buildRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentClassifierBuildOperationDetails.class),
@@ -2418,9 +2400,8 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
 
     /**
      * Gets detailed document classifier information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2471,9 +2452,8 @@ public Mono> getClassifierWithResponseAsync(String classifi
 
     /**
      * Gets detailed document classifier information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2522,9 +2502,8 @@ public Response getClassifierWithResponse(String classifierId, Reque
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2576,9 +2555,8 @@ private Mono> listClassifiersSinglePageAsync(RequestOp
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2628,9 +2606,8 @@ public PagedFlux listClassifiersAsync(RequestOptions requestOptions)
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2680,9 +2657,8 @@ private PagedResponse listClassifiersSinglePage(RequestOptions reque
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -2768,9 +2744,8 @@ public Response deleteClassifierWithResponse(String classifierId, RequestO
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -2844,9 +2819,8 @@ private Mono> listModelsNextSinglePageAsync(String nex
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     modelId: String (Required)
@@ -2917,11 +2891,11 @@ private PagedResponse listModelsNextSinglePage(String nextLink, Requ
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -2972,11 +2946,11 @@ private Mono> listOperationsNextSinglePageAsync(String
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -3024,9 +2998,8 @@ private PagedResponse listOperationsNextSinglePage(String nextLink,
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
@@ -3082,9 +3055,8 @@ private Mono> listClassifiersNextSinglePageAsync(Strin
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     classifierId: String (Required)
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceClientImpl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceClientImpl.java
index bfef914190e7..35f20fa06aca 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceClientImpl.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceClientImpl.java
@@ -151,8 +151,8 @@ public DocumentIntelligenceClientImpl(HttpPipeline httpPipeline, SerializerAdapt
     }
 
     /**
-     * The interface defining all the services for DocumentIntelligenceClient to be used by the proxy service to
-     * perform REST calls.
+     * The interface defining all the services for DocumentIntelligenceClient to be used by the proxy service to perform
+     * REST calls.
      */
     @Host("{endpoint}/documentintelligence")
     @ServiceInterface(name = "DocumentIntelligence")
@@ -204,61 +204,27 @@ Response classifyDocumentSync(@HostParam("endpoint") String endpoint,
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. + * "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value + * may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of + * "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. + * "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. + * Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -290,61 +256,27 @@ private Mono> analyzeDocumentWithResponseAsync(String modelId, Re
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. + * "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value + * may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of + * "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. + * "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. + * Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -376,61 +308,27 @@ private Response analyzeDocumentWithResponse(String modelId, RequestOption
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. + * "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value + * may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of + * "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. + * "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. + * Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -452,7 +350,8 @@ public PollerFlux beginAnalyzeDocumentAsync(String model
             () -> this.analyzeDocumentWithResponseAsync(modelId, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -460,61 +359,27 @@ public PollerFlux beginAnalyzeDocumentAsync(String model
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. + * "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value + * may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of + * "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. + * "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. + * Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -536,7 +401,8 @@ public SyncPoller beginAnalyzeDocument(String modelId, R
             () -> this.analyzeDocumentWithResponse(modelId, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -544,61 +410,27 @@ public SyncPoller beginAnalyzeDocument(String modelId, R
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. + * "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value + * may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of + * "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. + * "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. + * Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -621,7 +453,8 @@ public PollerFlux beginAnalyzeDo
             () -> this.analyzeDocumentWithResponseAsync(modelId, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(AnalyzeResultOperation.class),
@@ -630,61 +463,27 @@ public PollerFlux beginAnalyzeDo
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. + * "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value + * may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of + * "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. + * "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. + * Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -707,7 +506,8 @@ public SyncPoller beginAnalyzeDo
             () -> this.analyzeDocumentWithResponse(modelId, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(AnalyzeResultOperation.class),
@@ -716,35 +516,18 @@ public SyncPoller beginAnalyzeDo
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", + * "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -773,35 +556,18 @@ private Mono> classifyDocumentWithResponseAsync(String classifier
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", + * "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -829,35 +595,18 @@ private Response classifyDocumentWithResponse(String classifierId, BinaryD
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", + * "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -881,7 +630,8 @@ public PollerFlux beginClassifyDocumentAsync(String clas
             () -> this.classifyDocumentWithResponseAsync(classifierId, classifyRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -889,35 +639,18 @@ public PollerFlux beginClassifyDocumentAsync(String clas
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", + * "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -941,7 +674,8 @@ public SyncPoller beginClassifyDocument(String classifie
             () -> this.classifyDocumentWithResponse(classifierId, classifyRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -949,35 +683,18 @@ public SyncPoller beginClassifyDocument(String classifie
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", + * "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -1001,7 +718,8 @@ public PollerFlux beginClassifyD
             () -> this.classifyDocumentWithResponseAsync(classifierId, classifyRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(AnalyzeResultOperation.class),
@@ -1010,35 +728,18 @@ public PollerFlux beginClassifyD
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. + * Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", + * "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     urlSource: String (Optional)
@@ -1062,7 +763,8 @@ public PollerFlux beginClassifyD
             () -> this.classifyDocumentWithResponse(classifierId, classifyRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(AnalyzeResultOperation.class),
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java
index 921df332fb6c..374d1bf2dd38 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java
@@ -6,74 +6,69 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Address field value.
  */
 @Immutable
-public final class AddressValue {
+public final class AddressValue implements JsonSerializable {
     /*
      * House or building number.
      */
     @Generated
-    @JsonProperty(value = "houseNumber")
     private String houseNumber;
 
     /*
      * Post office box number.
      */
     @Generated
-    @JsonProperty(value = "poBox")
     private String poBox;
 
     /*
      * Street name.
      */
     @Generated
-    @JsonProperty(value = "road")
     private String road;
 
     /*
      * Name of city, town, village, etc.
      */
     @Generated
-    @JsonProperty(value = "city")
     private String city;
 
     /*
      * First-level administrative division.
      */
     @Generated
-    @JsonProperty(value = "state")
     private String state;
 
     /*
      * Postal code used for mail sorting.
      */
     @Generated
-    @JsonProperty(value = "postalCode")
     private String postalCode;
 
     /*
      * Country/region.
      */
     @Generated
-    @JsonProperty(value = "countryRegion")
     private String countryRegion;
 
     /*
      * Street-level address, excluding city, state, countryRegion, and postalCode.
      */
     @Generated
-    @JsonProperty(value = "streetAddress")
     private String streetAddress;
 
     /*
      * Apartment or office number
      */
     @Generated
-    @JsonProperty(value = "unit")
     private String unit;
 
     /*
@@ -81,35 +76,30 @@ public final class AddressValue {
      * of Westminster in London.
      */
     @Generated
-    @JsonProperty(value = "cityDistrict")
     private String cityDistrict;
 
     /*
      * Second-level administrative division used in certain locales.
      */
     @Generated
-    @JsonProperty(value = "stateDistrict")
     private String stateDistrict;
 
     /*
      * Unofficial neighborhood name, like Chinatown.
      */
     @Generated
-    @JsonProperty(value = "suburb")
     private String suburb;
 
     /*
      * Build name, such as World Trade Center.
      */
     @Generated
-    @JsonProperty(value = "house")
     private String house;
 
     /*
      * Floor number, such as 3F.
      */
     @Generated
-    @JsonProperty(value = "level")
     private String level;
 
     /**
@@ -259,4 +249,81 @@ public String getHouse() {
     public String getLevel() {
         return this.level;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("houseNumber", this.houseNumber);
+        jsonWriter.writeStringField("poBox", this.poBox);
+        jsonWriter.writeStringField("road", this.road);
+        jsonWriter.writeStringField("city", this.city);
+        jsonWriter.writeStringField("state", this.state);
+        jsonWriter.writeStringField("postalCode", this.postalCode);
+        jsonWriter.writeStringField("countryRegion", this.countryRegion);
+        jsonWriter.writeStringField("streetAddress", this.streetAddress);
+        jsonWriter.writeStringField("unit", this.unit);
+        jsonWriter.writeStringField("cityDistrict", this.cityDistrict);
+        jsonWriter.writeStringField("stateDistrict", this.stateDistrict);
+        jsonWriter.writeStringField("suburb", this.suburb);
+        jsonWriter.writeStringField("house", this.house);
+        jsonWriter.writeStringField("level", this.level);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AddressValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AddressValue if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AddressValue.
+     */
+    @Generated
+    public static AddressValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AddressValue deserializedAddressValue = new AddressValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("houseNumber".equals(fieldName)) {
+                    deserializedAddressValue.houseNumber = reader.getString();
+                } else if ("poBox".equals(fieldName)) {
+                    deserializedAddressValue.poBox = reader.getString();
+                } else if ("road".equals(fieldName)) {
+                    deserializedAddressValue.road = reader.getString();
+                } else if ("city".equals(fieldName)) {
+                    deserializedAddressValue.city = reader.getString();
+                } else if ("state".equals(fieldName)) {
+                    deserializedAddressValue.state = reader.getString();
+                } else if ("postalCode".equals(fieldName)) {
+                    deserializedAddressValue.postalCode = reader.getString();
+                } else if ("countryRegion".equals(fieldName)) {
+                    deserializedAddressValue.countryRegion = reader.getString();
+                } else if ("streetAddress".equals(fieldName)) {
+                    deserializedAddressValue.streetAddress = reader.getString();
+                } else if ("unit".equals(fieldName)) {
+                    deserializedAddressValue.unit = reader.getString();
+                } else if ("cityDistrict".equals(fieldName)) {
+                    deserializedAddressValue.cityDistrict = reader.getString();
+                } else if ("stateDistrict".equals(fieldName)) {
+                    deserializedAddressValue.stateDistrict = reader.getString();
+                } else if ("suburb".equals(fieldName)) {
+                    deserializedAddressValue.suburb = reader.getString();
+                } else if ("house".equals(fieldName)) {
+                    deserializedAddressValue.house = reader.getString();
+                } else if ("level".equals(fieldName)) {
+                    deserializedAddressValue.level = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAddressValue;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java
index efb9d7c197e5..e1efe101ce51 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java
@@ -7,26 +7,28 @@
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.CoreUtils;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Document analysis parameters.
  */
 @Fluent
-public final class AnalyzeDocumentRequest {
+public final class AnalyzeDocumentRequest implements JsonSerializable {
     /*
-     * Document URL to analyze. Either urlSource or base64Source must be specified.
+     * Document URL to analyze.  Either urlSource or base64Source must be specified.
      */
     @Generated
-    @JsonProperty(value = "urlSource")
     private String urlSource;
 
     /*
-     * Base64 encoding of the document to analyze. Either urlSource or base64Source
+     * Base64 encoding of the document to analyze.  Either urlSource or base64Source
      * must be specified.
      */
     @Generated
-    @JsonProperty(value = "base64Source")
     private byte[] base64Source;
 
     /**
@@ -81,4 +83,45 @@ public AnalyzeDocumentRequest setBase64Source(byte[] base64Source) {
         this.base64Source = CoreUtils.clone(base64Source);
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("urlSource", this.urlSource);
+        jsonWriter.writeBinaryField("base64Source", this.base64Source);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeDocumentRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeDocumentRequest if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AnalyzeDocumentRequest.
+     */
+    @Generated
+    public static AnalyzeDocumentRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AnalyzeDocumentRequest deserializedAnalyzeDocumentRequest = new AnalyzeDocumentRequest();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("urlSource".equals(fieldName)) {
+                    deserializedAnalyzeDocumentRequest.urlSource = reader.getString();
+                } else if ("base64Source".equals(fieldName)) {
+                    deserializedAnalyzeDocumentRequest.base64Source = reader.getBinary();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAnalyzeDocumentRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java
index 075990bc76e0..a27344f4f656 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java
@@ -6,41 +6,40 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Document analysis result.
  */
 @Immutable
-public final class AnalyzeResult {
+public final class AnalyzeResult implements JsonSerializable {
     /*
      * API version used to produce this result.
      */
     @Generated
-    @JsonProperty(value = "apiVersion")
-    private String apiVersion;
+    private final String apiVersion;
 
     /*
      * Document model ID used to produce this result.
      */
     @Generated
-    @JsonProperty(value = "modelId")
-    private String modelId;
+    private final String modelId;
 
     /*
      * Method used to compute string offset and length.
      */
     @Generated
-    @JsonProperty(value = "stringIndexType")
-    private StringIndexType stringIndexType;
+    private final StringIndexType stringIndexType;
 
     /*
      * Format of the analyze result top-level content.
      */
     @Generated
-    @JsonProperty(value = "contentFormat")
     private ContentFormat contentFormat;
 
     /*
@@ -48,77 +47,66 @@ public final class AnalyzeResult {
      * order.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Analyzed pages.
      */
     @Generated
-    @JsonProperty(value = "pages")
-    private List pages;
+    private final List pages;
 
     /*
      * Extracted paragraphs.
      */
     @Generated
-    @JsonProperty(value = "paragraphs")
     private List paragraphs;
 
     /*
      * Extracted tables.
      */
     @Generated
-    @JsonProperty(value = "tables")
     private List tables;
 
     /*
      * Extracted figures.
      */
     @Generated
-    @JsonProperty(value = "figures")
     private List figures;
 
     /*
      * Extracted lists.
      */
     @Generated
-    @JsonProperty(value = "lists")
     private List lists;
 
     /*
      * Extracted sections.
      */
     @Generated
-    @JsonProperty(value = "sections")
     private List sections;
 
     /*
      * Extracted key-value pairs.
      */
     @Generated
-    @JsonProperty(value = "keyValuePairs")
     private List keyValuePairs;
 
     /*
      * Extracted font styles.
      */
     @Generated
-    @JsonProperty(value = "styles")
     private List styles;
 
     /*
      * Detected languages.
      */
     @Generated
-    @JsonProperty(value = "languages")
     private List languages;
 
     /*
      * Extracted documents.
      */
     @Generated
-    @JsonProperty(value = "documents")
     private List documents;
 
     /**
@@ -131,11 +119,8 @@ public final class AnalyzeResult {
      * @param pages the pages value to set.
      */
     @Generated
-    @JsonCreator
-    private AnalyzeResult(@JsonProperty(value = "apiVersion") String apiVersion,
-        @JsonProperty(value = "modelId") String modelId,
-        @JsonProperty(value = "stringIndexType") StringIndexType stringIndexType,
-        @JsonProperty(value = "content") String content, @JsonProperty(value = "pages") List pages) {
+    private AnalyzeResult(String apiVersion, String modelId, StringIndexType stringIndexType, String content,
+        List pages) {
         this.apiVersion = apiVersion;
         this.modelId = modelId;
         this.stringIndexType = stringIndexType;
@@ -293,4 +278,112 @@ public List getLanguages() {
     public List getDocuments() {
         return this.documents;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("apiVersion", this.apiVersion);
+        jsonWriter.writeStringField("modelId", this.modelId);
+        jsonWriter.writeStringField("stringIndexType",
+            this.stringIndexType == null ? null : this.stringIndexType.toString());
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("pages", this.pages, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("contentFormat", this.contentFormat == null ? null : this.contentFormat.toString());
+        jsonWriter.writeArrayField("paragraphs", this.paragraphs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("tables", this.tables, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("figures", this.figures, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("lists", this.lists, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("sections", this.sections, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("keyValuePairs", this.keyValuePairs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("styles", this.styles, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("languages", this.languages, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("documents", this.documents, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeResult if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeResult.
+     */
+    @Generated
+    public static AnalyzeResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String apiVersion = null;
+            String modelId = null;
+            StringIndexType stringIndexType = null;
+            String content = null;
+            List pages = null;
+            ContentFormat contentFormat = null;
+            List paragraphs = null;
+            List tables = null;
+            List figures = null;
+            List lists = null;
+            List sections = null;
+            List keyValuePairs = null;
+            List styles = null;
+            List languages = null;
+            List documents = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else if ("stringIndexType".equals(fieldName)) {
+                    stringIndexType = StringIndexType.fromString(reader.getString());
+                } else if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("pages".equals(fieldName)) {
+                    pages = reader.readArray(reader1 -> DocumentPage.fromJson(reader1));
+                } else if ("contentFormat".equals(fieldName)) {
+                    contentFormat = ContentFormat.fromString(reader.getString());
+                } else if ("paragraphs".equals(fieldName)) {
+                    paragraphs = reader.readArray(reader1 -> DocumentParagraph.fromJson(reader1));
+                } else if ("tables".equals(fieldName)) {
+                    tables = reader.readArray(reader1 -> DocumentTable.fromJson(reader1));
+                } else if ("figures".equals(fieldName)) {
+                    figures = reader.readArray(reader1 -> DocumentFigure.fromJson(reader1));
+                } else if ("lists".equals(fieldName)) {
+                    lists = reader.readArray(reader1 -> DocumentList.fromJson(reader1));
+                } else if ("sections".equals(fieldName)) {
+                    sections = reader.readArray(reader1 -> DocumentSection.fromJson(reader1));
+                } else if ("keyValuePairs".equals(fieldName)) {
+                    keyValuePairs = reader.readArray(reader1 -> DocumentKeyValuePair.fromJson(reader1));
+                } else if ("styles".equals(fieldName)) {
+                    styles = reader.readArray(reader1 -> DocumentStyle.fromJson(reader1));
+                } else if ("languages".equals(fieldName)) {
+                    languages = reader.readArray(reader1 -> DocumentLanguage.fromJson(reader1));
+                } else if ("documents".equals(fieldName)) {
+                    documents = reader.readArray(reader1 -> Document.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AnalyzeResult deserializedAnalyzeResult
+                = new AnalyzeResult(apiVersion, modelId, stringIndexType, content, pages);
+            deserializedAnalyzeResult.contentFormat = contentFormat;
+            deserializedAnalyzeResult.paragraphs = paragraphs;
+            deserializedAnalyzeResult.tables = tables;
+            deserializedAnalyzeResult.figures = figures;
+            deserializedAnalyzeResult.lists = lists;
+            deserializedAnalyzeResult.sections = sections;
+            deserializedAnalyzeResult.keyValuePairs = keyValuePairs;
+            deserializedAnalyzeResult.styles = styles;
+            deserializedAnalyzeResult.languages = languages;
+            deserializedAnalyzeResult.documents = documents;
+
+            return deserializedAnalyzeResult;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java
index c8f521a54be4..dbe581aa2bcc 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java
@@ -6,48 +6,47 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 
 /**
  * Status and result of the analyze operation.
  */
 @Immutable
-public final class AnalyzeResultOperation {
+public final class AnalyzeResultOperation implements JsonSerializable {
     /*
-     * Operation status. notStarted, running, succeeded, or failed
+     * Operation status.  notStarted, running, succeeded, or failed
      */
     @Generated
-    @JsonProperty(value = "status")
-    private OperationStatus status;
+    private final OperationStatus status;
 
     /*
      * Date and time (UTC) when the analyze operation was submitted.
      */
     @Generated
-    @JsonProperty(value = "createdDateTime")
-    private OffsetDateTime createdDateTime;
+    private final OffsetDateTime createdDateTime;
 
     /*
      * Date and time (UTC) when the status was last updated.
      */
     @Generated
-    @JsonProperty(value = "lastUpdatedDateTime")
-    private OffsetDateTime lastUpdatedDateTime;
+    private final OffsetDateTime lastUpdatedDateTime;
 
     /*
      * Encountered error during document analysis.
      */
     @Generated
-    @JsonProperty(value = "error")
     private Error error;
 
     /*
      * Document analysis result.
      */
     @Generated
-    @JsonProperty(value = "analyzeResult")
     private AnalyzeResult analyzeResult;
 
     /**
@@ -58,10 +57,8 @@ public final class AnalyzeResultOperation {
      * @param lastUpdatedDateTime the lastUpdatedDateTime value to set.
      */
     @Generated
-    @JsonCreator
-    private AnalyzeResultOperation(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime) {
+    private AnalyzeResultOperation(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime) {
         this.status = status;
         this.createdDateTime = createdDateTime;
         this.lastUpdatedDateTime = lastUpdatedDateTime;
@@ -116,4 +113,69 @@ public Error getError() {
     public AnalyzeResult getAnalyzeResult() {
         return this.analyzeResult;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeStringField("createdDateTime",
+            this.createdDateTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.createdDateTime));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            this.lastUpdatedDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.lastUpdatedDateTime));
+        jsonWriter.writeJsonField("error", this.error);
+        jsonWriter.writeJsonField("analyzeResult", this.analyzeResult);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeResultOperation from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeResultOperation if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeResultOperation.
+     */
+    @Generated
+    public static AnalyzeResultOperation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            Error error = null;
+            AnalyzeResult analyzeResult = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else if ("analyzeResult".equals(fieldName)) {
+                    analyzeResult = AnalyzeResult.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AnalyzeResultOperation deserializedAnalyzeResultOperation
+                = new AnalyzeResultOperation(status, createdDateTime, lastUpdatedDateTime);
+            deserializedAnalyzeResultOperation.error = error;
+            deserializedAnalyzeResultOperation.analyzeResult = analyzeResult;
+
+            return deserializedAnalyzeResultOperation;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java
index b5024a0ba84b..52e16df196e8 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java
@@ -6,34 +6,34 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Request body to authorize document model copy.
  */
 @Fluent
-public final class AuthorizeCopyRequest {
+public final class AuthorizeCopyRequest implements JsonSerializable {
     /*
      * Unique document model name.
      */
     @Generated
-    @JsonProperty(value = "modelId")
-    private String modelId;
+    private final String modelId;
 
     /*
      * Document model description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * List of key-value tag attributes associated with the document model.
      */
     @Generated
-    @JsonProperty(value = "tags")
     private Map tags;
 
     /**
@@ -42,8 +42,7 @@ public final class AuthorizeCopyRequest {
      * @param modelId the modelId value to set.
      */
     @Generated
-    @JsonCreator
-    public AuthorizeCopyRequest(@JsonProperty(value = "modelId") String modelId) {
+    public AuthorizeCopyRequest(String modelId) {
         this.modelId = modelId;
     }
 
@@ -100,4 +99,54 @@ public AuthorizeCopyRequest setTags(Map tags) {
         this.tags = tags;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("modelId", this.modelId);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AuthorizeCopyRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AuthorizeCopyRequest if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AuthorizeCopyRequest.
+     */
+    @Generated
+    public static AuthorizeCopyRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String modelId = null;
+            String description = null;
+            Map tags = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AuthorizeCopyRequest deserializedAuthorizeCopyRequest = new AuthorizeCopyRequest(modelId);
+            deserializedAuthorizeCopyRequest.description = description;
+            deserializedAuthorizeCopyRequest.tags = tags;
+
+            return deserializedAuthorizeCopyRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java
index 750eaa3617dd..789b78dccafc 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java
@@ -6,26 +6,27 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Azure Blob Storage content.
  */
 @Fluent
-public final class AzureBlobContentSource {
+public final class AzureBlobContentSource implements JsonSerializable {
     /*
      * Azure Blob Storage container URL.
      */
     @Generated
-    @JsonProperty(value = "containerUrl")
-    private String containerUrl;
+    private final String containerUrl;
 
     /*
      * Blob name prefix.
      */
     @Generated
-    @JsonProperty(value = "prefix")
     private String prefix;
 
     /**
@@ -34,8 +35,7 @@ public final class AzureBlobContentSource {
      * @param containerUrl the containerUrl value to set.
      */
     @Generated
-    @JsonCreator
-    public AzureBlobContentSource(@JsonProperty(value = "containerUrl") String containerUrl) {
+    public AzureBlobContentSource(String containerUrl) {
         this.containerUrl = containerUrl;
     }
 
@@ -70,4 +70,49 @@ public AzureBlobContentSource setPrefix(String prefix) {
         this.prefix = prefix;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("containerUrl", this.containerUrl);
+        jsonWriter.writeStringField("prefix", this.prefix);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AzureBlobContentSource from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AzureBlobContentSource if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AzureBlobContentSource.
+     */
+    @Generated
+    public static AzureBlobContentSource fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String containerUrl = null;
+            String prefix = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("containerUrl".equals(fieldName)) {
+                    containerUrl = reader.getString();
+                } else if ("prefix".equals(fieldName)) {
+                    prefix = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AzureBlobContentSource deserializedAzureBlobContentSource = new AzureBlobContentSource(containerUrl);
+            deserializedAzureBlobContentSource.prefix = prefix;
+
+            return deserializedAzureBlobContentSource;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java
index 025d0de4c960..690d9c3c689b 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java
@@ -6,27 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * File list in Azure Blob Storage.
  */
 @Immutable
-public final class AzureBlobFileListContentSource {
+public final class AzureBlobFileListContentSource implements JsonSerializable {
     /*
      * Azure Blob Storage container URL.
      */
     @Generated
-    @JsonProperty(value = "containerUrl")
-    private String containerUrl;
+    private final String containerUrl;
 
     /*
      * Path to a JSONL file within the container specifying a subset of documents.
      */
     @Generated
-    @JsonProperty(value = "fileList")
-    private String fileList;
+    private final String fileList;
 
     /**
      * Creates an instance of AzureBlobFileListContentSource class.
@@ -35,9 +36,7 @@ public final class AzureBlobFileListContentSource {
      * @param fileList the fileList value to set.
      */
     @Generated
-    @JsonCreator
-    public AzureBlobFileListContentSource(@JsonProperty(value = "containerUrl") String containerUrl,
-        @JsonProperty(value = "fileList") String fileList) {
+    public AzureBlobFileListContentSource(String containerUrl, String fileList) {
         this.containerUrl = containerUrl;
         this.fileList = fileList;
     }
@@ -61,4 +60,46 @@ public String getContainerUrl() {
     public String getFileList() {
         return this.fileList;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("containerUrl", this.containerUrl);
+        jsonWriter.writeStringField("fileList", this.fileList);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AzureBlobFileListContentSource from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AzureBlobFileListContentSource if the JsonReader was pointing to an instance of it, or
+     * null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AzureBlobFileListContentSource.
+     */
+    @Generated
+    public static AzureBlobFileListContentSource fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String containerUrl = null;
+            String fileList = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("containerUrl".equals(fieldName)) {
+                    containerUrl = reader.getString();
+                } else if ("fileList".equals(fieldName)) {
+                    fileList = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AzureBlobFileListContentSource(containerUrl, fileList);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java
index 6fc6b1b8911c..82b9fc092ed7 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java
@@ -6,21 +6,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Bounding polygon on a specific page of the input.
  */
 @Immutable
-public final class BoundingRegion {
+public final class BoundingRegion implements JsonSerializable {
     /*
      * 1-based page number of page containing the bounding region.
      */
     @Generated
-    @JsonProperty(value = "pageNumber")
-    private int pageNumber;
+    private final int pageNumber;
 
     /*
      * Bounding polygon on the page, or the entire page if not specified.
@@ -29,8 +31,7 @@ public final class BoundingRegion {
      * (-180 degrees inclusive) relative to the element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
-    private List polygon;
+    private final List polygon;
 
     /**
      * Creates an instance of BoundingRegion class.
@@ -39,9 +40,7 @@ public final class BoundingRegion {
      * @param polygon the polygon value to set.
      */
     @Generated
-    @JsonCreator
-    private BoundingRegion(@JsonProperty(value = "pageNumber") int pageNumber,
-        @JsonProperty(value = "polygon") List polygon) {
+    private BoundingRegion(int pageNumber, List polygon) {
         this.pageNumber = pageNumber;
         this.polygon = polygon;
     }
@@ -68,4 +67,46 @@ public int getPageNumber() {
     public List getPolygon() {
         return this.polygon;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("pageNumber", this.pageNumber);
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of BoundingRegion from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of BoundingRegion if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the BoundingRegion.
+     */
+    @Generated
+    public static BoundingRegion fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int pageNumber = 0;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("pageNumber".equals(fieldName)) {
+                    pageNumber = reader.getInt();
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new BoundingRegion(pageNumber, polygon);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java
index 8e5b556597b4..536c4c86b248 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java
@@ -6,42 +6,41 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Request body to build a new custom document classifier.
  */
 @Fluent
-public final class BuildDocumentClassifierRequest {
+public final class BuildDocumentClassifierRequest implements JsonSerializable {
     /*
      * Unique document classifier name.
      */
     @Generated
-    @JsonProperty(value = "classifierId")
-    private String classifierId;
+    private final String classifierId;
 
     /*
      * Document classifier description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Base classifierId on top of which to train the classifier.
      */
     @Generated
-    @JsonProperty(value = "baseClassifierId")
     private String baseClassifierId;
 
     /*
      * List of document types to classify against.
      */
     @Generated
-    @JsonProperty(value = "docTypes")
-    private Map docTypes;
+    private final Map docTypes;
 
     /**
      * Creates an instance of BuildDocumentClassifierRequest class.
@@ -50,9 +49,7 @@ public final class BuildDocumentClassifierRequest {
      * @param docTypes the docTypes value to set.
      */
     @Generated
-    @JsonCreator
-    public BuildDocumentClassifierRequest(@JsonProperty(value = "classifierId") String classifierId,
-        @JsonProperty(value = "docTypes") Map docTypes) {
+    public BuildDocumentClassifierRequest(String classifierId, Map docTypes) {
         this.classifierId = classifierId;
         this.docTypes = docTypes;
     }
@@ -120,4 +117,59 @@ public BuildDocumentClassifierRequest setBaseClassifierId(String baseClassifierI
     public Map getDocTypes() {
         return this.docTypes;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("classifierId", this.classifierId);
+        jsonWriter.writeMapField("docTypes", this.docTypes, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("baseClassifierId", this.baseClassifierId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of BuildDocumentClassifierRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of BuildDocumentClassifierRequest if the JsonReader was pointing to an instance of it, or
+     * null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the BuildDocumentClassifierRequest.
+     */
+    @Generated
+    public static BuildDocumentClassifierRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String classifierId = null;
+            Map docTypes = null;
+            String description = null;
+            String baseClassifierId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("classifierId".equals(fieldName)) {
+                    classifierId = reader.getString();
+                } else if ("docTypes".equals(fieldName)) {
+                    docTypes = reader.readMap(reader1 -> ClassifierDocumentTypeDetails.fromJson(reader1));
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("baseClassifierId".equals(fieldName)) {
+                    baseClassifierId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            BuildDocumentClassifierRequest deserializedBuildDocumentClassifierRequest
+                = new BuildDocumentClassifierRequest(classifierId, docTypes);
+            deserializedBuildDocumentClassifierRequest.description = description;
+            deserializedBuildDocumentClassifierRequest.baseClassifierId = baseClassifierId;
+
+            return deserializedBuildDocumentClassifierRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java
index 9de10dd1e9e1..d0736c2ee7ac 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java
@@ -6,57 +6,54 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Request body to build a new custom document model.
  */
 @Fluent
-public final class BuildDocumentModelRequest {
+public final class BuildDocumentModelRequest implements JsonSerializable {
     /*
      * Unique document model name.
      */
     @Generated
-    @JsonProperty(value = "modelId")
-    private String modelId;
+    private final String modelId;
 
     /*
      * Document model description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Custom document model build mode.
      */
     @Generated
-    @JsonProperty(value = "buildMode")
-    private DocumentBuildMode buildMode;
+    private final DocumentBuildMode buildMode;
 
     /*
-     * Azure Blob Storage location containing the training data. Either
+     * Azure Blob Storage location containing the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobSource")
     private AzureBlobContentSource azureBlobSource;
 
     /*
-     * Azure Blob Storage file list specifying the training data. Either
+     * Azure Blob Storage file list specifying the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobFileListSource")
     private AzureBlobFileListContentSource azureBlobFileListSource;
 
     /*
      * List of key-value tag attributes associated with the document model.
      */
     @Generated
-    @JsonProperty(value = "tags")
     private Map tags;
 
     /**
@@ -66,9 +63,7 @@ public final class BuildDocumentModelRequest {
      * @param buildMode the buildMode value to set.
      */
     @Generated
-    @JsonCreator
-    public BuildDocumentModelRequest(@JsonProperty(value = "modelId") String modelId,
-        @JsonProperty(value = "buildMode") DocumentBuildMode buildMode) {
+    public BuildDocumentModelRequest(String modelId, DocumentBuildMode buildMode) {
         this.modelId = modelId;
         this.buildMode = buildMode;
     }
@@ -185,4 +180,69 @@ public BuildDocumentModelRequest setTags(Map tags) {
         this.tags = tags;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("modelId", this.modelId);
+        jsonWriter.writeStringField("buildMode", this.buildMode == null ? null : this.buildMode.toString());
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeJsonField("azureBlobSource", this.azureBlobSource);
+        jsonWriter.writeJsonField("azureBlobFileListSource", this.azureBlobFileListSource);
+        jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of BuildDocumentModelRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of BuildDocumentModelRequest if the JsonReader was pointing to an instance of it, or null if
+     * it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the BuildDocumentModelRequest.
+     */
+    @Generated
+    public static BuildDocumentModelRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String modelId = null;
+            DocumentBuildMode buildMode = null;
+            String description = null;
+            AzureBlobContentSource azureBlobSource = null;
+            AzureBlobFileListContentSource azureBlobFileListSource = null;
+            Map tags = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else if ("buildMode".equals(fieldName)) {
+                    buildMode = DocumentBuildMode.fromString(reader.getString());
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("azureBlobSource".equals(fieldName)) {
+                    azureBlobSource = AzureBlobContentSource.fromJson(reader);
+                } else if ("azureBlobFileListSource".equals(fieldName)) {
+                    azureBlobFileListSource = AzureBlobFileListContentSource.fromJson(reader);
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            BuildDocumentModelRequest deserializedBuildDocumentModelRequest
+                = new BuildDocumentModelRequest(modelId, buildMode);
+            deserializedBuildDocumentModelRequest.description = description;
+            deserializedBuildDocumentModelRequest.azureBlobSource = azureBlobSource;
+            deserializedBuildDocumentModelRequest.azureBlobFileListSource = azureBlobFileListSource;
+            deserializedBuildDocumentModelRequest.tags = tags;
+
+            return deserializedBuildDocumentModelRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java
index 8bc88fabe800..6e159290ea30 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java
@@ -6,36 +6,37 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Classifier document type info.
  */
 @Fluent
-public final class ClassifierDocumentTypeDetails {
+public final class ClassifierDocumentTypeDetails implements JsonSerializable {
     /*
      * Type of training data source.
      */
     @Generated
-    @JsonProperty(value = "sourceKind")
     private ContentSourceKind sourceKind;
 
     /*
      * Azure Blob Storage location containing the training data for a classifier
-     * document type. Either azureBlobSource or azureBlobFileListSource must be
+     * document type.  Either azureBlobSource or azureBlobFileListSource must be
      * specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobSource")
     private AzureBlobContentSource azureBlobSource;
 
     /*
      * Azure Blob Storage file list specifying the training data for a classifier
-     * document type. Either azureBlobSource or azureBlobFileListSource must be
+     * document type.  Either azureBlobSource or azureBlobFileListSource must be
      * specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobFileListSource")
     private AzureBlobFileListContentSource azureBlobFileListSource;
 
     /**
@@ -121,4 +122,51 @@ public AzureBlobFileListContentSource getAzureBlobFileListSource() {
         this.azureBlobFileListSource = azureBlobFileListSource;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("sourceKind", this.sourceKind == null ? null : this.sourceKind.toString());
+        jsonWriter.writeJsonField("azureBlobSource", this.azureBlobSource);
+        jsonWriter.writeJsonField("azureBlobFileListSource", this.azureBlobFileListSource);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ClassifierDocumentTypeDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ClassifierDocumentTypeDetails if the JsonReader was pointing to an instance of it, or null
+     * if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ClassifierDocumentTypeDetails.
+     */
+    @Generated
+    public static ClassifierDocumentTypeDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ClassifierDocumentTypeDetails deserializedClassifierDocumentTypeDetails
+                = new ClassifierDocumentTypeDetails();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("sourceKind".equals(fieldName)) {
+                    deserializedClassifierDocumentTypeDetails.sourceKind
+                        = ContentSourceKind.fromString(reader.getString());
+                } else if ("azureBlobSource".equals(fieldName)) {
+                    deserializedClassifierDocumentTypeDetails.azureBlobSource = AzureBlobContentSource.fromJson(reader);
+                } else if ("azureBlobFileListSource".equals(fieldName)) {
+                    deserializedClassifierDocumentTypeDetails.azureBlobFileListSource
+                        = AzureBlobFileListContentSource.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedClassifierDocumentTypeDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java
index 520c6249e741..be6384b357e9 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java
@@ -7,26 +7,28 @@
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.CoreUtils;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Document classification parameters.
  */
 @Fluent
-public final class ClassifyDocumentRequest {
+public final class ClassifyDocumentRequest implements JsonSerializable {
     /*
-     * Document URL to classify. Either urlSource or base64Source must be specified.
+     * Document URL to classify.  Either urlSource or base64Source must be specified.
      */
     @Generated
-    @JsonProperty(value = "urlSource")
     private String urlSource;
 
     /*
-     * Base64 encoding of the document to classify. Either urlSource or base64Source
+     * Base64 encoding of the document to classify.  Either urlSource or base64Source
      * must be specified.
      */
     @Generated
-    @JsonProperty(value = "base64Source")
     private byte[] base64Source;
 
     /**
@@ -81,4 +83,45 @@ public ClassifyDocumentRequest setBase64Source(byte[] base64Source) {
         this.base64Source = CoreUtils.clone(base64Source);
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("urlSource", this.urlSource);
+        jsonWriter.writeBinaryField("base64Source", this.base64Source);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ClassifyDocumentRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ClassifyDocumentRequest if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ClassifyDocumentRequest.
+     */
+    @Generated
+    public static ClassifyDocumentRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ClassifyDocumentRequest deserializedClassifyDocumentRequest = new ClassifyDocumentRequest();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("urlSource".equals(fieldName)) {
+                    deserializedClassifyDocumentRequest.urlSource = reader.getString();
+                } else if ("base64Source".equals(fieldName)) {
+                    deserializedClassifyDocumentRequest.base64Source = reader.getBinary();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedClassifyDocumentRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java
index ec2206fd26fe..bdfd51fdd03d 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java
@@ -6,20 +6,22 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * A component of a composed document model.
  */
 @Immutable
-public final class ComponentDocumentModelDetails {
+public final class ComponentDocumentModelDetails implements JsonSerializable {
     /*
      * Unique document model name.
      */
     @Generated
-    @JsonProperty(value = "modelId")
-    private String modelId;
+    private final String modelId;
 
     /**
      * Creates an instance of ComponentDocumentModelDetails class.
@@ -27,8 +29,7 @@ public final class ComponentDocumentModelDetails {
      * @param modelId the modelId value to set.
      */
     @Generated
-    @JsonCreator
-    public ComponentDocumentModelDetails(@JsonProperty(value = "modelId") String modelId) {
+    public ComponentDocumentModelDetails(String modelId) {
         this.modelId = modelId;
     }
 
@@ -41,4 +42,42 @@ public ComponentDocumentModelDetails(@JsonProperty(value = "modelId") String mod
     public String getModelId() {
         return this.modelId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("modelId", this.modelId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ComponentDocumentModelDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ComponentDocumentModelDetails if the JsonReader was pointing to an instance of it, or null
+     * if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ComponentDocumentModelDetails.
+     */
+    @Generated
+    public static ComponentDocumentModelDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String modelId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new ComponentDocumentModelDetails(modelId);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java
index c9918f491f5b..6ce9f1ae18dd 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java
@@ -6,8 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -15,33 +18,29 @@
  * Request body to create a composed document model from component document models.
  */
 @Fluent
-public final class ComposeDocumentModelRequest {
+public final class ComposeDocumentModelRequest implements JsonSerializable {
     /*
      * Unique document model name.
      */
     @Generated
-    @JsonProperty(value = "modelId")
-    private String modelId;
+    private final String modelId;
 
     /*
      * Document model description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * List of component document models to compose.
      */
     @Generated
-    @JsonProperty(value = "componentModels")
-    private List componentModels;
+    private final List componentModels;
 
     /*
      * List of key-value tag attributes associated with the document model.
      */
     @Generated
-    @JsonProperty(value = "tags")
     private Map tags;
 
     /**
@@ -51,9 +50,7 @@ public final class ComposeDocumentModelRequest {
      * @param componentModels the componentModels value to set.
      */
     @Generated
-    @JsonCreator
-    public ComposeDocumentModelRequest(@JsonProperty(value = "modelId") String modelId,
-        @JsonProperty(value = "componentModels") List componentModels) {
+    public ComposeDocumentModelRequest(String modelId, List componentModels) {
         this.modelId = modelId;
         this.componentModels = componentModels;
     }
@@ -121,4 +118,60 @@ public ComposeDocumentModelRequest setTags(Map tags) {
         this.tags = tags;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("modelId", this.modelId);
+        jsonWriter.writeArrayField("componentModels", this.componentModels,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ComposeDocumentModelRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ComposeDocumentModelRequest if the JsonReader was pointing to an instance of it, or null
+     * if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ComposeDocumentModelRequest.
+     */
+    @Generated
+    public static ComposeDocumentModelRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String modelId = null;
+            List componentModels = null;
+            String description = null;
+            Map tags = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else if ("componentModels".equals(fieldName)) {
+                    componentModels = reader.readArray(reader1 -> ComponentDocumentModelDetails.fromJson(reader1));
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            ComposeDocumentModelRequest deserializedComposeDocumentModelRequest
+                = new ComposeDocumentModelRequest(modelId, componentModels);
+            deserializedComposeDocumentModelRequest.description = description;
+            deserializedComposeDocumentModelRequest.tags = tags;
+
+            return deserializedComposeDocumentModelRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java
index 76bb1bf15b75..c51762293778 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -43,7 +42,6 @@ public ContentFormat() {
      * @return the corresponding ContentFormat.
      */
     @Generated
-    @JsonCreator
     public static ContentFormat fromString(String name) {
         return fromString(name, ContentFormat.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java
index f7859163443b..84c4c3f629d6 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -54,7 +53,6 @@ public ContentSourceKind() {
      * @return the corresponding ContentSourceKind.
      */
     @Generated
-    @JsonCreator
     public static ContentSourceKind fromString(String name) {
         return fromString(name, ContentSourceKind.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java
index 2e2c69c5164f..6bcc3dcbf4ae 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java
@@ -6,58 +6,56 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 
 /**
  * Authorization to copy a document model to the specified target resource and
  * modelId.
  */
 @Immutable
-public final class CopyAuthorization {
+public final class CopyAuthorization implements JsonSerializable {
     /*
      * ID of the target Azure resource where the document model should be copied to.
      */
     @Generated
-    @JsonProperty(value = "targetResourceId")
-    private String targetResourceId;
+    private final String targetResourceId;
 
     /*
      * Location of the target Azure resource where the document model should be copied
      * to.
      */
     @Generated
-    @JsonProperty(value = "targetResourceRegion")
-    private String targetResourceRegion;
+    private final String targetResourceRegion;
 
     /*
      * Identifier of the target document model.
      */
     @Generated
-    @JsonProperty(value = "targetModelId")
-    private String targetModelId;
+    private final String targetModelId;
 
     /*
      * URL of the copied document model in the target account.
      */
     @Generated
-    @JsonProperty(value = "targetModelLocation")
-    private String targetModelLocation;
+    private final String targetModelLocation;
 
     /*
      * Token used to authorize the request.
      */
     @Generated
-    @JsonProperty(value = "accessToken")
-    private String accessToken;
+    private final String accessToken;
 
     /*
      * Date/time when the access token expires.
      */
     @Generated
-    @JsonProperty(value = "expirationDateTime")
-    private OffsetDateTime expirationDateTime;
+    private final OffsetDateTime expirationDateTime;
 
     /**
      * Creates an instance of CopyAuthorization class.
@@ -70,13 +68,8 @@ public final class CopyAuthorization {
      * @param expirationDateTime the expirationDateTime value to set.
      */
     @Generated
-    @JsonCreator
-    public CopyAuthorization(@JsonProperty(value = "targetResourceId") String targetResourceId,
-        @JsonProperty(value = "targetResourceRegion") String targetResourceRegion,
-        @JsonProperty(value = "targetModelId") String targetModelId,
-        @JsonProperty(value = "targetModelLocation") String targetModelLocation,
-        @JsonProperty(value = "accessToken") String accessToken,
-        @JsonProperty(value = "expirationDateTime") OffsetDateTime expirationDateTime) {
+    public CopyAuthorization(String targetResourceId, String targetResourceRegion, String targetModelId,
+        String targetModelLocation, String accessToken, OffsetDateTime expirationDateTime) {
         this.targetResourceId = targetResourceId;
         this.targetResourceRegion = targetResourceRegion;
         this.targetModelId = targetModelId;
@@ -146,4 +139,67 @@ public String getAccessToken() {
     public OffsetDateTime getExpirationDateTime() {
         return this.expirationDateTime;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("targetResourceId", this.targetResourceId);
+        jsonWriter.writeStringField("targetResourceRegion", this.targetResourceRegion);
+        jsonWriter.writeStringField("targetModelId", this.targetModelId);
+        jsonWriter.writeStringField("targetModelLocation", this.targetModelLocation);
+        jsonWriter.writeStringField("accessToken", this.accessToken);
+        jsonWriter.writeStringField("expirationDateTime",
+            this.expirationDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.expirationDateTime));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CopyAuthorization from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CopyAuthorization if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the CopyAuthorization.
+     */
+    @Generated
+    public static CopyAuthorization fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String targetResourceId = null;
+            String targetResourceRegion = null;
+            String targetModelId = null;
+            String targetModelLocation = null;
+            String accessToken = null;
+            OffsetDateTime expirationDateTime = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("targetResourceId".equals(fieldName)) {
+                    targetResourceId = reader.getString();
+                } else if ("targetResourceRegion".equals(fieldName)) {
+                    targetResourceRegion = reader.getString();
+                } else if ("targetModelId".equals(fieldName)) {
+                    targetModelId = reader.getString();
+                } else if ("targetModelLocation".equals(fieldName)) {
+                    targetModelLocation = reader.getString();
+                } else if ("accessToken".equals(fieldName)) {
+                    accessToken = reader.getString();
+                } else if ("expirationDateTime".equals(fieldName)) {
+                    expirationDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new CopyAuthorization(targetResourceId, targetResourceRegion, targetModelId, targetModelLocation,
+                accessToken, expirationDateTime);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java
index 92a3b71b4a82..b49fe53a9eda 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java
@@ -6,33 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Currency field value.
  */
 @Immutable
-public final class CurrencyValue {
+public final class CurrencyValue implements JsonSerializable {
     /*
      * Currency amount.
      */
     @Generated
-    @JsonProperty(value = "amount")
-    private double amount;
+    private final double amount;
 
     /*
      * Currency symbol label, if any.
      */
     @Generated
-    @JsonProperty(value = "currencySymbol")
     private String currencySymbol;
 
     /*
      * Resolved currency code (ISO 4217), if any.
      */
     @Generated
-    @JsonProperty(value = "currencyCode")
     private String currencyCode;
 
     /**
@@ -41,8 +41,7 @@ public final class CurrencyValue {
      * @param amount the amount value to set.
      */
     @Generated
-    @JsonCreator
-    private CurrencyValue(@JsonProperty(value = "amount") double amount) {
+    private CurrencyValue(double amount) {
         this.amount = amount;
     }
 
@@ -75,4 +74,54 @@ public String getCurrencySymbol() {
     public String getCurrencyCode() {
         return this.currencyCode;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeDoubleField("amount", this.amount);
+        jsonWriter.writeStringField("currencySymbol", this.currencySymbol);
+        jsonWriter.writeStringField("currencyCode", this.currencyCode);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CurrencyValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CurrencyValue if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the CurrencyValue.
+     */
+    @Generated
+    public static CurrencyValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            double amount = 0.0;
+            String currencySymbol = null;
+            String currencyCode = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("amount".equals(fieldName)) {
+                    amount = reader.getDouble();
+                } else if ("currencySymbol".equals(fieldName)) {
+                    currencySymbol = reader.getString();
+                } else if ("currencyCode".equals(fieldName)) {
+                    currencyCode = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            CurrencyValue deserializedCurrencyValue = new CurrencyValue(amount);
+            deserializedCurrencyValue.currencySymbol = currencySymbol;
+            deserializedCurrencyValue.currencyCode = currencyCode;
+
+            return deserializedCurrencyValue;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java
index ac14bedfdcd4..275dc9a30a04 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java
@@ -6,27 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Details regarding custom document models.
  */
 @Immutable
-public final class CustomDocumentModelsDetails {
+public final class CustomDocumentModelsDetails implements JsonSerializable {
     /*
      * Number of custom document models in the current resource.
      */
     @Generated
-    @JsonProperty(value = "count")
-    private int count;
+    private final int count;
 
     /*
      * Maximum number of custom document models supported in the current resource.
      */
     @Generated
-    @JsonProperty(value = "limit")
-    private int limit;
+    private final int limit;
 
     /**
      * Creates an instance of CustomDocumentModelsDetails class.
@@ -35,9 +36,7 @@ public final class CustomDocumentModelsDetails {
      * @param limit the limit value to set.
      */
     @Generated
-    @JsonCreator
-    private CustomDocumentModelsDetails(@JsonProperty(value = "count") int count,
-        @JsonProperty(value = "limit") int limit) {
+    private CustomDocumentModelsDetails(int count, int limit) {
         this.count = count;
         this.limit = limit;
     }
@@ -61,4 +60,46 @@ public int getCount() {
     public int getLimit() {
         return this.limit;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("count", this.count);
+        jsonWriter.writeIntField("limit", this.limit);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CustomDocumentModelsDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CustomDocumentModelsDetails if the JsonReader was pointing to an instance of it, or null
+     * if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the CustomDocumentModelsDetails.
+     */
+    @Generated
+    public static CustomDocumentModelsDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int count = 0;
+            int limit = 0;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("count".equals(fieldName)) {
+                    count = reader.getInt();
+                } else if ("limit".equals(fieldName)) {
+                    limit = reader.getInt();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new CustomDocumentModelsDetails(count, limit);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java
index 88063850e2b8..8ed4f63ef8ea 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java
@@ -6,8 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -15,41 +18,36 @@
  * An object describing the location and semantic content of a document.
  */
 @Immutable
-public final class Document {
+public final class Document implements JsonSerializable {
     /*
      * Document type.
      */
     @Generated
-    @JsonProperty(value = "docType")
-    private String docType;
+    private final String docType;
 
     /*
      * Bounding regions covering the document.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the document in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Dictionary of named field values.
      */
     @Generated
-    @JsonProperty(value = "fields")
     private Map fields;
 
     /*
      * Confidence of correctly extracting the document.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of Document class.
@@ -59,10 +57,7 @@ public final class Document {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private Document(@JsonProperty(value = "docType") String docType,
-        @JsonProperty(value = "spans") List spans,
-        @JsonProperty(value = "confidence") double confidence) {
+    private Document(String docType, List spans, double confidence) {
         this.docType = docType;
         this.spans = spans;
         this.confidence = confidence;
@@ -117,4 +112,63 @@ public Map getFields() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("docType", this.docType);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("fields", this.fields, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of Document from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of Document if the JsonReader was pointing to an instance of it, or null if it was pointing
+     * to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the Document.
+     */
+    @Generated
+    public static Document fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String docType = null;
+            List spans = null;
+            double confidence = 0.0;
+            List boundingRegions = null;
+            Map fields = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("docType".equals(fieldName)) {
+                    docType = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("fields".equals(fieldName)) {
+                    fields = reader.readMap(reader1 -> DocumentField.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            Document deserializedDocument = new Document(docType, spans, confidence);
+            deserializedDocument.boundingRegions = boundingRegions;
+            deserializedDocument.fields = fields;
+
+            return deserializedDocument;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java
index 1565e8b9978a..66f8d8cefdb4 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -72,7 +71,6 @@ public DocumentAnalysisFeature() {
      * @return the corresponding DocumentAnalysisFeature.
      */
     @Generated
-    @JsonCreator
     public static DocumentAnalysisFeature fromString(String name) {
         return fromString(name, DocumentAnalysisFeature.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java
index eb8745bf07b1..0af38a68c8d4 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java
@@ -6,28 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * A barcode object.
  */
 @Immutable
-public final class DocumentBarcode {
+public final class DocumentBarcode implements JsonSerializable {
     /*
      * Barcode kind.
      */
     @Generated
-    @JsonProperty(value = "kind")
-    private DocumentBarcodeKind kind;
+    private final DocumentBarcodeKind kind;
 
     /*
      * Barcode value.
      */
     @Generated
-    @JsonProperty(value = "value")
-    private String value;
+    private final String value;
 
     /*
      * Bounding polygon of the barcode, with coordinates specified relative to the
@@ -36,22 +37,19 @@ public final class DocumentBarcode {
      * element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
     private List polygon;
 
     /*
      * Location of the barcode in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "span")
-    private DocumentSpan span;
+    private final DocumentSpan span;
 
     /*
      * Confidence of correctly extracting the barcode.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentBarcode class.
@@ -62,10 +60,7 @@ public final class DocumentBarcode {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentBarcode(@JsonProperty(value = "kind") DocumentBarcodeKind kind,
-        @JsonProperty(value = "value") String value, @JsonProperty(value = "span") DocumentSpan span,
-        @JsonProperty(value = "confidence") double confidence) {
+    private DocumentBarcode(DocumentBarcodeKind kind, String value, DocumentSpan span, double confidence) {
         this.kind = kind;
         this.value = value;
         this.span = span;
@@ -124,4 +119,61 @@ public DocumentSpan getSpan() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeStringField("value", this.value);
+        jsonWriter.writeJsonField("span", this.span);
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentBarcode from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentBarcode if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentBarcode.
+     */
+    @Generated
+    public static DocumentBarcode fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentBarcodeKind kind = null;
+            String value = null;
+            DocumentSpan span = null;
+            double confidence = 0.0;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("kind".equals(fieldName)) {
+                    kind = DocumentBarcodeKind.fromString(reader.getString());
+                } else if ("value".equals(fieldName)) {
+                    value = reader.getString();
+                } else if ("span".equals(fieldName)) {
+                    span = DocumentSpan.fromJson(reader);
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentBarcode deserializedDocumentBarcode = new DocumentBarcode(kind, value, span, confidence);
+            deserializedDocumentBarcode.polygon = polygon;
+
+            return deserializedDocumentBarcode;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java
index 9c437473904a..ed67c60adb6d 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -132,7 +131,6 @@ public DocumentBarcodeKind() {
      * @return the corresponding DocumentBarcodeKind.
      */
     @Generated
-    @JsonCreator
     public static DocumentBarcodeKind fromString(String name) {
         return fromString(name, DocumentBarcodeKind.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java
index 488bb7aa3fd1..c995e575f45a 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public DocumentBuildMode() {
      * @return the corresponding DocumentBuildMode.
      */
     @Generated
-    @JsonCreator
     public static DocumentBuildMode fromString(String name) {
         return fromString(name, DocumentBuildMode.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java
index cb699f2f4732..bfc761592294 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java
@@ -6,41 +6,40 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * A caption object describing a table or figure.
  */
 @Immutable
-public final class DocumentCaption {
+public final class DocumentCaption implements JsonSerializable {
     /*
      * Content of the caption.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the caption.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the caption in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the caption.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /**
@@ -50,9 +49,7 @@ public final class DocumentCaption {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentCaption(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentCaption(String content, List spans) {
         this.content = content;
         this.spans = spans;
     }
@@ -96,4 +93,59 @@ public List getSpans() {
     public List getElements() {
         return this.elements;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentCaption from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentCaption if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentCaption.
+     */
+    @Generated
+    public static DocumentCaption fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            List spans = null;
+            List boundingRegions = null;
+            List elements = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentCaption deserializedDocumentCaption = new DocumentCaption(content, spans);
+            deserializedDocumentCaption.boundingRegions = boundingRegions;
+            deserializedDocumentCaption.elements = elements;
+
+            return deserializedDocumentCaption;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java
index 16ed67d90ff6..d3616b0df141 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java
@@ -6,24 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
 
 /**
  * Get Operation response object.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
-@JsonTypeName("documentClassifierBuild")
 @Immutable
 public final class DocumentClassifierBuildOperationDetails extends OperationDetails {
+    /*
+     * Type of operation.
+     */
+    @Generated
+    private OperationKind kind = OperationKind.DOCUMENT_CLASSIFIER_BUILD;
+
     /*
      * Operation result upon success.
      */
     @Generated
-    @JsonProperty(value = "result")
     private DocumentClassifierDetails result;
 
     /**
@@ -35,14 +40,22 @@ public final class DocumentClassifierBuildOperationDetails extends OperationDeta
      * @param resourceLocation the resourceLocation value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentClassifierBuildOperationDetails(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime,
-        @JsonProperty(value = "resourceLocation") String resourceLocation) {
+    private DocumentClassifierBuildOperationDetails(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime, String resourceLocation) {
         super(status, createdDateTime, lastUpdatedDateTime, resourceLocation);
     }
 
+    /**
+     * Get the kind property: Type of operation.
+     * 
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public OperationKind getKind() {
+        return this.kind;
+    }
+
     /**
      * Get the result property: Operation result upon success.
      * 
@@ -52,4 +65,98 @@ private DocumentClassifierBuildOperationDetails(@JsonProperty(value = "status")
     public DocumentClassifierDetails getResult() {
         return this.result;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString());
+        jsonWriter.writeStringField("createdDateTime",
+            getCreatedDateTime() == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getCreatedDateTime()));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            getLastUpdatedDateTime() == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getLastUpdatedDateTime()));
+        jsonWriter.writeStringField("resourceLocation", getResourceLocation());
+        jsonWriter.writeNumberField("percentCompleted", getPercentCompleted());
+        jsonWriter.writeStringField("apiVersion", getApiVersion());
+        jsonWriter.writeMapField("tags", getTags(), (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("error", getError());
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeJsonField("result", this.result);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentClassifierBuildOperationDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentClassifierBuildOperationDetails if the JsonReader was pointing to an instance of
+     * it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentClassifierBuildOperationDetails.
+     */
+    @Generated
+    public static DocumentClassifierBuildOperationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String operationId = null;
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            String resourceLocation = null;
+            Integer percentCompleted = null;
+            String apiVersion = null;
+            Map tags = null;
+            Error error = null;
+            OperationKind kind = OperationKind.DOCUMENT_CLASSIFIER_BUILD;
+            DocumentClassifierDetails result = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("operationId".equals(fieldName)) {
+                    operationId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("resourceLocation".equals(fieldName)) {
+                    resourceLocation = reader.getString();
+                } else if ("percentCompleted".equals(fieldName)) {
+                    percentCompleted = reader.getNullable(JsonReader::getInt);
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else if ("kind".equals(fieldName)) {
+                    kind = OperationKind.fromString(reader.getString());
+                } else if ("result".equals(fieldName)) {
+                    result = DocumentClassifierDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentClassifierBuildOperationDetails deserializedDocumentClassifierBuildOperationDetails
+                = new DocumentClassifierBuildOperationDetails(status, createdDateTime, lastUpdatedDateTime,
+                    resourceLocation);
+            deserializedDocumentClassifierBuildOperationDetails.setOperationId(operationId);
+            deserializedDocumentClassifierBuildOperationDetails.setPercentCompleted(percentCompleted);
+            deserializedDocumentClassifierBuildOperationDetails.setApiVersion(apiVersion);
+            deserializedDocumentClassifierBuildOperationDetails.setTags(tags);
+            deserializedDocumentClassifierBuildOperationDetails.setError(error);
+            deserializedDocumentClassifierBuildOperationDetails.kind = kind;
+            deserializedDocumentClassifierBuildOperationDetails.result = result;
+
+            return deserializedDocumentClassifierBuildOperationDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java
index be95146cbcdf..efc2bb5e791c 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java
@@ -6,9 +6,13 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
 
@@ -16,61 +20,53 @@
  * Document classifier info.
  */
 @Immutable
-public final class DocumentClassifierDetails {
+public final class DocumentClassifierDetails implements JsonSerializable {
     /*
      * Unique document classifier name.
      */
     @Generated
-    @JsonProperty(value = "classifierId", access = JsonProperty.Access.WRITE_ONLY)
     private String classifierId;
 
     /*
      * Document classifier description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Date and time (UTC) when the document classifier was created.
      */
     @Generated
-    @JsonProperty(value = "createdDateTime")
-    private OffsetDateTime createdDateTime;
+    private final OffsetDateTime createdDateTime;
 
     /*
      * Date and time (UTC) when the document classifier will expire.
      */
     @Generated
-    @JsonProperty(value = "expirationDateTime")
     private OffsetDateTime expirationDateTime;
 
     /*
      * API version used to create this document classifier.
      */
     @Generated
-    @JsonProperty(value = "apiVersion")
-    private String apiVersion;
+    private final String apiVersion;
 
     /*
      * Base classifierId on top of which the classifier was trained.
      */
     @Generated
-    @JsonProperty(value = "baseClassifierId")
     private String baseClassifierId;
 
     /*
      * List of document types to classify against.
      */
     @Generated
-    @JsonProperty(value = "docTypes")
-    private Map docTypes;
+    private final Map docTypes;
 
     /*
      * List of warnings encountered while building the classifier.
      */
     @Generated
-    @JsonProperty(value = "warnings")
     private List warnings;
 
     /**
@@ -81,10 +77,8 @@ public final class DocumentClassifierDetails {
      * @param docTypes the docTypes value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentClassifierDetails(@JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "apiVersion") String apiVersion,
-        @JsonProperty(value = "docTypes") Map docTypes) {
+    private DocumentClassifierDetails(OffsetDateTime createdDateTime, String apiVersion,
+        Map docTypes) {
         this.createdDateTime = createdDateTime;
         this.apiVersion = apiVersion;
         this.docTypes = docTypes;
@@ -169,4 +163,83 @@ public Map getDocTypes() {
     public List getWarnings() {
         return this.warnings;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("createdDateTime",
+            this.createdDateTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.createdDateTime));
+        jsonWriter.writeStringField("apiVersion", this.apiVersion);
+        jsonWriter.writeMapField("docTypes", this.docTypes, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("expirationDateTime",
+            this.expirationDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.expirationDateTime));
+        jsonWriter.writeStringField("baseClassifierId", this.baseClassifierId);
+        jsonWriter.writeArrayField("warnings", this.warnings, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentClassifierDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentClassifierDetails if the JsonReader was pointing to an instance of it, or null if
+     * it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentClassifierDetails.
+     */
+    @Generated
+    public static DocumentClassifierDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String classifierId = null;
+            OffsetDateTime createdDateTime = null;
+            String apiVersion = null;
+            Map docTypes = null;
+            String description = null;
+            OffsetDateTime expirationDateTime = null;
+            String baseClassifierId = null;
+            List warnings = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("classifierId".equals(fieldName)) {
+                    classifierId = reader.getString();
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("docTypes".equals(fieldName)) {
+                    docTypes = reader.readMap(reader1 -> ClassifierDocumentTypeDetails.fromJson(reader1));
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("expirationDateTime".equals(fieldName)) {
+                    expirationDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("baseClassifierId".equals(fieldName)) {
+                    baseClassifierId = reader.getString();
+                } else if ("warnings".equals(fieldName)) {
+                    warnings = reader.readArray(reader1 -> Warning.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentClassifierDetails deserializedDocumentClassifierDetails
+                = new DocumentClassifierDetails(createdDateTime, apiVersion, docTypes);
+            deserializedDocumentClassifierDetails.classifierId = classifierId;
+            deserializedDocumentClassifierDetails.description = description;
+            deserializedDocumentClassifierDetails.expirationDateTime = expirationDateTime;
+            deserializedDocumentClassifierDetails.baseClassifierId = baseClassifierId;
+            deserializedDocumentClassifierDetails.warnings = warnings;
+
+            return deserializedDocumentClassifierDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java
index 3c977e91749d..95fba0fa2b6b 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java
@@ -6,155 +6,139 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.LocalDate;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * An object representing the content and location of a field value.
  */
 @Immutable
-public final class DocumentField {
+public final class DocumentField implements JsonSerializable {
     /*
      * Data type of the field value.
      */
     @Generated
-    @JsonProperty(value = "type")
-    private DocumentFieldType type;
+    private final DocumentFieldType type;
 
     /*
      * String value.
      */
     @Generated
-    @JsonProperty(value = "valueString")
     private String valueString;
 
     /*
      * Date value in YYYY-MM-DD format (ISO 8601).
      */
     @Generated
-    @JsonProperty(value = "valueDate")
     private LocalDate valueDate;
 
     /*
      * Time value in hh:mm:ss format (ISO 8601).
      */
     @Generated
-    @JsonProperty(value = "valueTime")
     private String valueTime;
 
     /*
      * Phone number value in E.164 format (ex. +19876543210).
      */
     @Generated
-    @JsonProperty(value = "valuePhoneNumber")
     private String valuePhoneNumber;
 
     /*
      * Floating point value.
      */
     @Generated
-    @JsonProperty(value = "valueNumber")
     private Double valueNumber;
 
     /*
      * Integer value.
      */
     @Generated
-    @JsonProperty(value = "valueInteger")
     private Long valueInteger;
 
     /*
      * Selection mark value.
      */
     @Generated
-    @JsonProperty(value = "valueSelectionMark")
     private DocumentSelectionMarkState valueSelectionMark;
 
     /*
      * Presence of signature.
      */
     @Generated
-    @JsonProperty(value = "valueSignature")
     private DocumentSignatureType valueSignature;
 
     /*
      * 3-letter country code value (ISO 3166-1 alpha-3).
      */
     @Generated
-    @JsonProperty(value = "valueCountryRegion")
     private String valueCountryRegion;
 
     /*
      * Array of field values.
      */
     @Generated
-    @JsonProperty(value = "valueArray")
     private List valueArray;
 
     /*
      * Dictionary of named field values.
      */
     @Generated
-    @JsonProperty(value = "valueObject")
     private Map valueObject;
 
     /*
      * Currency value.
      */
     @Generated
-    @JsonProperty(value = "valueCurrency")
     private CurrencyValue valueCurrency;
 
     /*
      * Address value.
      */
     @Generated
-    @JsonProperty(value = "valueAddress")
     private AddressValue valueAddress;
 
     /*
      * Boolean value.
      */
     @Generated
-    @JsonProperty(value = "valueBoolean")
     private Boolean valueBoolean;
 
     /*
      * Selection group value.
      */
     @Generated
-    @JsonProperty(value = "valueSelectionGroup")
     private List valueSelectionGroup;
 
     /*
      * Field content.
      */
     @Generated
-    @JsonProperty(value = "content")
     private String content;
 
     /*
      * Bounding regions covering the field.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the field in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
     private List spans;
 
     /*
      * Confidence of correctly extracting the field.
      */
     @Generated
-    @JsonProperty(value = "confidence")
     private Double confidence;
 
     /**
@@ -163,8 +147,7 @@ public final class DocumentField {
      * @param type the type value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentField(@JsonProperty(value = "type") DocumentFieldType type) {
+    private DocumentField(DocumentFieldType type) {
         this.type = type;
     }
 
@@ -367,4 +350,143 @@ public List getSpans() {
     public Double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
+        jsonWriter.writeStringField("valueString", this.valueString);
+        jsonWriter.writeStringField("valueDate", Objects.toString(this.valueDate, null));
+        jsonWriter.writeStringField("valueTime", this.valueTime);
+        jsonWriter.writeStringField("valuePhoneNumber", this.valuePhoneNumber);
+        jsonWriter.writeNumberField("valueNumber", this.valueNumber);
+        jsonWriter.writeNumberField("valueInteger", this.valueInteger);
+        jsonWriter.writeStringField("valueSelectionMark",
+            this.valueSelectionMark == null ? null : this.valueSelectionMark.toString());
+        jsonWriter.writeStringField("valueSignature",
+            this.valueSignature == null ? null : this.valueSignature.toString());
+        jsonWriter.writeStringField("valueCountryRegion", this.valueCountryRegion);
+        jsonWriter.writeArrayField("valueArray", this.valueArray, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("valueObject", this.valueObject, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("valueCurrency", this.valueCurrency);
+        jsonWriter.writeJsonField("valueAddress", this.valueAddress);
+        jsonWriter.writeBooleanField("valueBoolean", this.valueBoolean);
+        jsonWriter.writeArrayField("valueSelectionGroup", this.valueSelectionGroup,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeNumberField("confidence", this.confidence);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentField from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentField if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentField.
+     */
+    @Generated
+    public static DocumentField fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentFieldType type = null;
+            String valueString = null;
+            LocalDate valueDate = null;
+            String valueTime = null;
+            String valuePhoneNumber = null;
+            Double valueNumber = null;
+            Long valueInteger = null;
+            DocumentSelectionMarkState valueSelectionMark = null;
+            DocumentSignatureType valueSignature = null;
+            String valueCountryRegion = null;
+            List valueArray = null;
+            Map valueObject = null;
+            CurrencyValue valueCurrency = null;
+            AddressValue valueAddress = null;
+            Boolean valueBoolean = null;
+            List valueSelectionGroup = null;
+            String content = null;
+            List boundingRegions = null;
+            List spans = null;
+            Double confidence = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("type".equals(fieldName)) {
+                    type = DocumentFieldType.fromString(reader.getString());
+                } else if ("valueString".equals(fieldName)) {
+                    valueString = reader.getString();
+                } else if ("valueDate".equals(fieldName)) {
+                    valueDate = reader.getNullable(nonNullReader -> LocalDate.parse(nonNullReader.getString()));
+                } else if ("valueTime".equals(fieldName)) {
+                    valueTime = reader.getString();
+                } else if ("valuePhoneNumber".equals(fieldName)) {
+                    valuePhoneNumber = reader.getString();
+                } else if ("valueNumber".equals(fieldName)) {
+                    valueNumber = reader.getNullable(JsonReader::getDouble);
+                } else if ("valueInteger".equals(fieldName)) {
+                    valueInteger = reader.getNullable(JsonReader::getLong);
+                } else if ("valueSelectionMark".equals(fieldName)) {
+                    valueSelectionMark = DocumentSelectionMarkState.fromString(reader.getString());
+                } else if ("valueSignature".equals(fieldName)) {
+                    valueSignature = DocumentSignatureType.fromString(reader.getString());
+                } else if ("valueCountryRegion".equals(fieldName)) {
+                    valueCountryRegion = reader.getString();
+                } else if ("valueArray".equals(fieldName)) {
+                    valueArray = reader.readArray(reader1 -> DocumentField.fromJson(reader1));
+                } else if ("valueObject".equals(fieldName)) {
+                    valueObject = reader.readMap(reader1 -> DocumentField.fromJson(reader1));
+                } else if ("valueCurrency".equals(fieldName)) {
+                    valueCurrency = CurrencyValue.fromJson(reader);
+                } else if ("valueAddress".equals(fieldName)) {
+                    valueAddress = AddressValue.fromJson(reader);
+                } else if ("valueBoolean".equals(fieldName)) {
+                    valueBoolean = reader.getNullable(JsonReader::getBoolean);
+                } else if ("valueSelectionGroup".equals(fieldName)) {
+                    valueSelectionGroup = reader.readArray(reader1 -> reader1.getString());
+                } else if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getNullable(JsonReader::getDouble);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentField deserializedDocumentField = new DocumentField(type);
+            deserializedDocumentField.valueString = valueString;
+            deserializedDocumentField.valueDate = valueDate;
+            deserializedDocumentField.valueTime = valueTime;
+            deserializedDocumentField.valuePhoneNumber = valuePhoneNumber;
+            deserializedDocumentField.valueNumber = valueNumber;
+            deserializedDocumentField.valueInteger = valueInteger;
+            deserializedDocumentField.valueSelectionMark = valueSelectionMark;
+            deserializedDocumentField.valueSignature = valueSignature;
+            deserializedDocumentField.valueCountryRegion = valueCountryRegion;
+            deserializedDocumentField.valueArray = valueArray;
+            deserializedDocumentField.valueObject = valueObject;
+            deserializedDocumentField.valueCurrency = valueCurrency;
+            deserializedDocumentField.valueAddress = valueAddress;
+            deserializedDocumentField.valueBoolean = valueBoolean;
+            deserializedDocumentField.valueSelectionGroup = valueSelectionGroup;
+            deserializedDocumentField.content = content;
+            deserializedDocumentField.boundingRegions = boundingRegions;
+            deserializedDocumentField.spans = spans;
+            deserializedDocumentField.confidence = confidence;
+
+            return deserializedDocumentField;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java
index 10dc97495412..15e9807613ea 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java
@@ -6,48 +6,46 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Description of the field semantic schema using a JSON Schema style syntax.
  */
 @Immutable
-public final class DocumentFieldSchema {
+public final class DocumentFieldSchema implements JsonSerializable {
     /*
      * Semantic data type of the field value.
      */
     @Generated
-    @JsonProperty(value = "type")
-    private DocumentFieldType type;
+    private final DocumentFieldType type;
 
     /*
      * Field description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Example field content.
      */
     @Generated
-    @JsonProperty(value = "example")
     private String example;
 
     /*
      * Field type schema of each array element.
      */
     @Generated
-    @JsonProperty(value = "items")
     private DocumentFieldSchema items;
 
     /*
      * Named sub-fields of the object field.
      */
     @Generated
-    @JsonProperty(value = "properties")
     private Map properties;
 
     /**
@@ -56,8 +54,7 @@ public final class DocumentFieldSchema {
      * @param type the type value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentFieldSchema(@JsonProperty(value = "type") DocumentFieldType type) {
+    private DocumentFieldSchema(DocumentFieldType type) {
         this.type = type;
     }
 
@@ -110,4 +107,64 @@ public DocumentFieldSchema getItems() {
     public Map getProperties() {
         return this.properties;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("example", this.example);
+        jsonWriter.writeJsonField("items", this.items);
+        jsonWriter.writeMapField("properties", this.properties, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentFieldSchema from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentFieldSchema if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentFieldSchema.
+     */
+    @Generated
+    public static DocumentFieldSchema fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentFieldType type = null;
+            String description = null;
+            String example = null;
+            DocumentFieldSchema items = null;
+            Map properties = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("type".equals(fieldName)) {
+                    type = DocumentFieldType.fromString(reader.getString());
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("example".equals(fieldName)) {
+                    example = reader.getString();
+                } else if ("items".equals(fieldName)) {
+                    items = DocumentFieldSchema.fromJson(reader);
+                } else if ("properties".equals(fieldName)) {
+                    properties = reader.readMap(reader1 -> DocumentFieldSchema.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentFieldSchema deserializedDocumentFieldSchema = new DocumentFieldSchema(type);
+            deserializedDocumentFieldSchema.description = description;
+            deserializedDocumentFieldSchema.example = example;
+            deserializedDocumentFieldSchema.items = items;
+            deserializedDocumentFieldSchema.properties = properties;
+
+            return deserializedDocumentFieldSchema;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java
index 24279473af97..7a44e88d902f 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -120,7 +119,6 @@ public DocumentFieldType() {
      * @return the corresponding DocumentFieldType.
      */
     @Generated
-    @JsonCreator
     public static DocumentFieldType fromString(String name) {
         return fromString(name, DocumentFieldType.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java
index 1f9431845b09..65fe0f0b79f5 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java
@@ -6,48 +6,46 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing a figure in the document.
  */
 @Immutable
-public final class DocumentFigure {
+public final class DocumentFigure implements JsonSerializable {
     /*
      * Bounding regions covering the figure.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the figure in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the figure, excluding any caption or footnotes.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /*
      * Caption associated with the figure.
      */
     @Generated
-    @JsonProperty(value = "caption")
     private DocumentCaption caption;
 
     /*
      * List of footnotes associated with the figure.
      */
     @Generated
-    @JsonProperty(value = "footnotes")
     private List footnotes;
 
     /**
@@ -56,8 +54,7 @@ public final class DocumentFigure {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentFigure(@JsonProperty(value = "spans") List spans) {
+    private DocumentFigure(List spans) {
         this.spans = spans;
     }
 
@@ -110,4 +107,65 @@ public DocumentCaption getCaption() {
     public List getFootnotes() {
         return this.footnotes;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("caption", this.caption);
+        jsonWriter.writeArrayField("footnotes", this.footnotes, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentFigure from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentFigure if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentFigure.
+     */
+    @Generated
+    public static DocumentFigure fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List spans = null;
+            List boundingRegions = null;
+            List elements = null;
+            DocumentCaption caption = null;
+            List footnotes = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else if ("caption".equals(fieldName)) {
+                    caption = DocumentCaption.fromJson(reader);
+                } else if ("footnotes".equals(fieldName)) {
+                    footnotes = reader.readArray(reader1 -> DocumentFootnote.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentFigure deserializedDocumentFigure = new DocumentFigure(spans);
+            deserializedDocumentFigure.boundingRegions = boundingRegions;
+            deserializedDocumentFigure.elements = elements;
+            deserializedDocumentFigure.caption = caption;
+            deserializedDocumentFigure.footnotes = footnotes;
+
+            return deserializedDocumentFigure;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java
index b2a5ba356d01..082bf426e096 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java
@@ -6,41 +6,40 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * A footnote object describing a table or figure.
  */
 @Immutable
-public final class DocumentFootnote {
+public final class DocumentFootnote implements JsonSerializable {
     /*
      * Content of the footnote.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the footnote.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the footnote in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the footnote.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /**
@@ -50,9 +49,7 @@ public final class DocumentFootnote {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentFootnote(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentFootnote(String content, List spans) {
         this.content = content;
         this.spans = spans;
     }
@@ -96,4 +93,59 @@ public List getSpans() {
     public List getElements() {
         return this.elements;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentFootnote from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentFootnote if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentFootnote.
+     */
+    @Generated
+    public static DocumentFootnote fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            List spans = null;
+            List boundingRegions = null;
+            List elements = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentFootnote deserializedDocumentFootnote = new DocumentFootnote(content, spans);
+            deserializedDocumentFootnote.boundingRegions = boundingRegions;
+            deserializedDocumentFootnote.elements = elements;
+
+            return deserializedDocumentFootnote;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java
index cfacd214a237..1b633f7db316 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java
@@ -6,28 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * A formula object.
  */
 @Immutable
-public final class DocumentFormula {
+public final class DocumentFormula implements JsonSerializable {
     /*
      * Formula kind.
      */
     @Generated
-    @JsonProperty(value = "kind")
-    private DocumentFormulaKind kind;
+    private final DocumentFormulaKind kind;
 
     /*
      * LaTex expression describing the formula.
      */
     @Generated
-    @JsonProperty(value = "value")
-    private String value;
+    private final String value;
 
     /*
      * Bounding polygon of the formula, with coordinates specified relative to the
@@ -36,22 +37,19 @@ public final class DocumentFormula {
      * element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
     private List polygon;
 
     /*
      * Location of the formula in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "span")
-    private DocumentSpan span;
+    private final DocumentSpan span;
 
     /*
      * Confidence of correctly extracting the formula.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentFormula class.
@@ -62,10 +60,7 @@ public final class DocumentFormula {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentFormula(@JsonProperty(value = "kind") DocumentFormulaKind kind,
-        @JsonProperty(value = "value") String value, @JsonProperty(value = "span") DocumentSpan span,
-        @JsonProperty(value = "confidence") double confidence) {
+    private DocumentFormula(DocumentFormulaKind kind, String value, DocumentSpan span, double confidence) {
         this.kind = kind;
         this.value = value;
         this.span = span;
@@ -124,4 +119,61 @@ public DocumentSpan getSpan() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeStringField("value", this.value);
+        jsonWriter.writeJsonField("span", this.span);
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentFormula from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentFormula if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentFormula.
+     */
+    @Generated
+    public static DocumentFormula fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentFormulaKind kind = null;
+            String value = null;
+            DocumentSpan span = null;
+            double confidence = 0.0;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("kind".equals(fieldName)) {
+                    kind = DocumentFormulaKind.fromString(reader.getString());
+                } else if ("value".equals(fieldName)) {
+                    value = reader.getString();
+                } else if ("span".equals(fieldName)) {
+                    span = DocumentSpan.fromJson(reader);
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentFormula deserializedDocumentFormula = new DocumentFormula(kind, value, span, confidence);
+            deserializedDocumentFormula.polygon = polygon;
+
+            return deserializedDocumentFormula;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java
index 22e009191a1b..c7207ca50048 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public DocumentFormulaKind() {
      * @return the corresponding DocumentFormulaKind.
      */
     @Generated
-    @JsonCreator
     public static DocumentFormulaKind fromString(String name) {
         return fromString(name, DocumentFormulaKind.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java
index 10dbd8ba27e4..89dc408ce8df 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java
@@ -6,35 +6,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing the field key or value in a key-value pair.
  */
 @Immutable
-public final class DocumentKeyValueElement {
+public final class DocumentKeyValueElement implements JsonSerializable {
     /*
      * Concatenated content of the key-value element in reading order.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the key-value element.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the key-value element in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /**
      * Creates an instance of DocumentKeyValueElement class.
@@ -43,9 +43,7 @@ public final class DocumentKeyValueElement {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentKeyValueElement(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentKeyValueElement(String content, List spans) {
         this.content = content;
         this.spans = spans;
     }
@@ -79,4 +77,54 @@ public List getBoundingRegions() {
     public List getSpans() {
         return this.spans;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentKeyValueElement from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentKeyValueElement if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentKeyValueElement.
+     */
+    @Generated
+    public static DocumentKeyValueElement fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            List spans = null;
+            List boundingRegions = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentKeyValueElement deserializedDocumentKeyValueElement = new DocumentKeyValueElement(content, spans);
+            deserializedDocumentKeyValueElement.boundingRegions = boundingRegions;
+
+            return deserializedDocumentKeyValueElement;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java
index c11d29d91845..08723ee2968e 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java
@@ -6,35 +6,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An object representing a form field with distinct field label (key) and field
  * value (may be empty).
  */
 @Immutable
-public final class DocumentKeyValuePair {
+public final class DocumentKeyValuePair implements JsonSerializable {
     /*
      * Field label of the key-value pair.
      */
     @Generated
-    @JsonProperty(value = "key")
-    private DocumentKeyValueElement key;
+    private final DocumentKeyValueElement key;
 
     /*
      * Field value of the key-value pair.
      */
     @Generated
-    @JsonProperty(value = "value")
     private DocumentKeyValueElement value;
 
     /*
      * Confidence of correctly extracting the key-value pair.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentKeyValuePair class.
@@ -43,9 +43,7 @@ public final class DocumentKeyValuePair {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentKeyValuePair(@JsonProperty(value = "key") DocumentKeyValueElement key,
-        @JsonProperty(value = "confidence") double confidence) {
+    private DocumentKeyValuePair(DocumentKeyValueElement key, double confidence) {
         this.key = key;
         this.confidence = confidence;
     }
@@ -79,4 +77,53 @@ public DocumentKeyValueElement getValue() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeJsonField("key", this.key);
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeJsonField("value", this.value);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentKeyValuePair from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentKeyValuePair if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentKeyValuePair.
+     */
+    @Generated
+    public static DocumentKeyValuePair fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentKeyValueElement key = null;
+            double confidence = 0.0;
+            DocumentKeyValueElement value = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("key".equals(fieldName)) {
+                    key = DocumentKeyValueElement.fromJson(reader);
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("value".equals(fieldName)) {
+                    value = DocumentKeyValueElement.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentKeyValuePair deserializedDocumentKeyValuePair = new DocumentKeyValuePair(key, confidence);
+            deserializedDocumentKeyValuePair.value = value;
+
+            return deserializedDocumentKeyValuePair;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java
index 0c039d921dee..4480172afaf9 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java
@@ -6,37 +6,37 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing the detected language for a given text span.
  */
 @Immutable
-public final class DocumentLanguage {
+public final class DocumentLanguage implements JsonSerializable {
     /*
-     * Detected language. Value may an ISO 639-1 language code (ex. "en", "fr")
+     * Detected language.  Value may an ISO 639-1 language code (ex. "en", "fr")
      * or BCP 47 language tag (ex. "zh-Hans").
      */
     @Generated
-    @JsonProperty(value = "locale")
-    private String locale;
+    private final String locale;
 
     /*
      * Location of the text elements in the concatenated content the language applies
      * to.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Confidence of correctly identifying the language.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentLanguage class.
@@ -46,10 +46,7 @@ public final class DocumentLanguage {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentLanguage(@JsonProperty(value = "locale") String locale,
-        @JsonProperty(value = "spans") List spans,
-        @JsonProperty(value = "confidence") double confidence) {
+    private DocumentLanguage(String locale, List spans, double confidence) {
         this.locale = locale;
         this.spans = spans;
         this.confidence = confidence;
@@ -86,4 +83,50 @@ public List getSpans() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("locale", this.locale);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentLanguage from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentLanguage if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentLanguage.
+     */
+    @Generated
+    public static DocumentLanguage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String locale = null;
+            List spans = null;
+            double confidence = 0.0;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("locale".equals(fieldName)) {
+                    locale = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DocumentLanguage(locale, spans, confidence);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java
index 295ee9f5a37a..907d565c3f01 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java
@@ -6,8 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -15,13 +18,12 @@
  * such as words and selection marks.
  */
 @Immutable
-public final class DocumentLine {
+public final class DocumentLine implements JsonSerializable {
     /*
      * Concatenated content of the contained elements in reading order.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding polygon of the line, with coordinates specified relative to the
@@ -30,15 +32,13 @@ public final class DocumentLine {
      * element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
     private List polygon;
 
     /*
      * Location of the line in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /**
      * Creates an instance of DocumentLine class.
@@ -47,9 +47,7 @@ public final class DocumentLine {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentLine(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentLine(String content, List spans) {
         this.content = content;
         this.spans = spans;
     }
@@ -86,4 +84,53 @@ public List getPolygon() {
     public List getSpans() {
         return this.spans;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentLine from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentLine if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentLine.
+     */
+    @Generated
+    public static DocumentLine fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            List spans = null;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentLine deserializedDocumentLine = new DocumentLine(content, spans);
+            deserializedDocumentLine.polygon = polygon;
+
+            return deserializedDocumentLine;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java
index 950ee1dc4517..3a8aec53ade6 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java
@@ -6,28 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing a list in the document.
  */
 @Immutable
-public final class DocumentList {
+public final class DocumentList implements JsonSerializable {
     /*
      * Location of the list in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Items in the list.
      */
     @Generated
-    @JsonProperty(value = "items")
-    private List items;
+    private final List items;
 
     /**
      * Creates an instance of DocumentList class.
@@ -36,9 +37,7 @@ public final class DocumentList {
      * @param items the items value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentList(@JsonProperty(value = "spans") List spans,
-        @JsonProperty(value = "items") List items) {
+    private DocumentList(List spans, List items) {
         this.spans = spans;
         this.items = items;
     }
@@ -62,4 +61,46 @@ public List getSpans() {
     public List getItems() {
         return this.items;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("items", this.items, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentList from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentList if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentList.
+     */
+    @Generated
+    public static DocumentList fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List spans = null;
+            List items = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("items".equals(fieldName)) {
+                    items = reader.readArray(reader1 -> DocumentListItem.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DocumentList(spans, items);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java
index 45317a400e03..2002d73dcc9e 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java
@@ -6,48 +6,46 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing a list item in the document.
  */
 @Immutable
-public final class DocumentListItem {
+public final class DocumentListItem implements JsonSerializable {
     /*
      * Level of the list item (1-indexed).
      */
     @Generated
-    @JsonProperty(value = "level")
-    private int level;
+    private final int level;
 
     /*
      * Content of the list item.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the list item.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the list item in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the list item.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /**
@@ -58,9 +56,7 @@ public final class DocumentListItem {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentListItem(@JsonProperty(value = "level") int level, @JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentListItem(int level, String content, List spans) {
         this.level = level;
         this.content = content;
         this.spans = spans;
@@ -115,4 +111,63 @@ public List getSpans() {
     public List getElements() {
         return this.elements;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("level", this.level);
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentListItem from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentListItem if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentListItem.
+     */
+    @Generated
+    public static DocumentListItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int level = 0;
+            String content = null;
+            List spans = null;
+            List boundingRegions = null;
+            List elements = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("level".equals(fieldName)) {
+                    level = reader.getInt();
+                } else if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentListItem deserializedDocumentListItem = new DocumentListItem(level, content, spans);
+            deserializedDocumentListItem.boundingRegions = boundingRegions;
+            deserializedDocumentListItem.elements = elements;
+
+            return deserializedDocumentListItem;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java
index aae67ee13d2f..412970c079be 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java
@@ -6,24 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
 
 /**
  * Get Operation response object.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
-@JsonTypeName("documentModelBuild")
 @Immutable
 public final class DocumentModelBuildOperationDetails extends OperationDetails {
+    /*
+     * Type of operation.
+     */
+    @Generated
+    private OperationKind kind = OperationKind.DOCUMENT_MODEL_BUILD;
+
     /*
      * Operation result upon success.
      */
     @Generated
-    @JsonProperty(value = "result")
     private DocumentModelDetails result;
 
     /**
@@ -35,14 +40,22 @@ public final class DocumentModelBuildOperationDetails extends OperationDetails {
      * @param resourceLocation the resourceLocation value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentModelBuildOperationDetails(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime,
-        @JsonProperty(value = "resourceLocation") String resourceLocation) {
+    private DocumentModelBuildOperationDetails(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime, String resourceLocation) {
         super(status, createdDateTime, lastUpdatedDateTime, resourceLocation);
     }
 
+    /**
+     * Get the kind property: Type of operation.
+     * 
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public OperationKind getKind() {
+        return this.kind;
+    }
+
     /**
      * Get the result property: Operation result upon success.
      * 
@@ -52,4 +65,98 @@ private DocumentModelBuildOperationDetails(@JsonProperty(value = "status") Opera
     public DocumentModelDetails getResult() {
         return this.result;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString());
+        jsonWriter.writeStringField("createdDateTime",
+            getCreatedDateTime() == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getCreatedDateTime()));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            getLastUpdatedDateTime() == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getLastUpdatedDateTime()));
+        jsonWriter.writeStringField("resourceLocation", getResourceLocation());
+        jsonWriter.writeNumberField("percentCompleted", getPercentCompleted());
+        jsonWriter.writeStringField("apiVersion", getApiVersion());
+        jsonWriter.writeMapField("tags", getTags(), (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("error", getError());
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeJsonField("result", this.result);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentModelBuildOperationDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentModelBuildOperationDetails if the JsonReader was pointing to an instance of it, or
+     * null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentModelBuildOperationDetails.
+     */
+    @Generated
+    public static DocumentModelBuildOperationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String operationId = null;
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            String resourceLocation = null;
+            Integer percentCompleted = null;
+            String apiVersion = null;
+            Map tags = null;
+            Error error = null;
+            OperationKind kind = OperationKind.DOCUMENT_MODEL_BUILD;
+            DocumentModelDetails result = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("operationId".equals(fieldName)) {
+                    operationId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("resourceLocation".equals(fieldName)) {
+                    resourceLocation = reader.getString();
+                } else if ("percentCompleted".equals(fieldName)) {
+                    percentCompleted = reader.getNullable(JsonReader::getInt);
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else if ("kind".equals(fieldName)) {
+                    kind = OperationKind.fromString(reader.getString());
+                } else if ("result".equals(fieldName)) {
+                    result = DocumentModelDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentModelBuildOperationDetails deserializedDocumentModelBuildOperationDetails
+                = new DocumentModelBuildOperationDetails(status, createdDateTime, lastUpdatedDateTime,
+                    resourceLocation);
+            deserializedDocumentModelBuildOperationDetails.setOperationId(operationId);
+            deserializedDocumentModelBuildOperationDetails.setPercentCompleted(percentCompleted);
+            deserializedDocumentModelBuildOperationDetails.setApiVersion(apiVersion);
+            deserializedDocumentModelBuildOperationDetails.setTags(tags);
+            deserializedDocumentModelBuildOperationDetails.setError(error);
+            deserializedDocumentModelBuildOperationDetails.kind = kind;
+            deserializedDocumentModelBuildOperationDetails.result = result;
+
+            return deserializedDocumentModelBuildOperationDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java
index fad68af17161..6aa9a645c3b3 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java
@@ -6,24 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
 
 /**
  * Get Operation response object.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
-@JsonTypeName("documentModelCompose")
 @Immutable
 public final class DocumentModelComposeOperationDetails extends OperationDetails {
+    /*
+     * Type of operation.
+     */
+    @Generated
+    private OperationKind kind = OperationKind.DOCUMENT_MODEL_COMPOSE;
+
     /*
      * Operation result upon success.
      */
     @Generated
-    @JsonProperty(value = "result")
     private DocumentModelDetails result;
 
     /**
@@ -35,14 +40,22 @@ public final class DocumentModelComposeOperationDetails extends OperationDetails
      * @param resourceLocation the resourceLocation value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentModelComposeOperationDetails(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime,
-        @JsonProperty(value = "resourceLocation") String resourceLocation) {
+    private DocumentModelComposeOperationDetails(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime, String resourceLocation) {
         super(status, createdDateTime, lastUpdatedDateTime, resourceLocation);
     }
 
+    /**
+     * Get the kind property: Type of operation.
+     * 
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public OperationKind getKind() {
+        return this.kind;
+    }
+
     /**
      * Get the result property: Operation result upon success.
      * 
@@ -52,4 +65,98 @@ private DocumentModelComposeOperationDetails(@JsonProperty(value = "status") Ope
     public DocumentModelDetails getResult() {
         return this.result;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString());
+        jsonWriter.writeStringField("createdDateTime",
+            getCreatedDateTime() == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getCreatedDateTime()));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            getLastUpdatedDateTime() == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getLastUpdatedDateTime()));
+        jsonWriter.writeStringField("resourceLocation", getResourceLocation());
+        jsonWriter.writeNumberField("percentCompleted", getPercentCompleted());
+        jsonWriter.writeStringField("apiVersion", getApiVersion());
+        jsonWriter.writeMapField("tags", getTags(), (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("error", getError());
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeJsonField("result", this.result);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentModelComposeOperationDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentModelComposeOperationDetails if the JsonReader was pointing to an instance of it,
+     * or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentModelComposeOperationDetails.
+     */
+    @Generated
+    public static DocumentModelComposeOperationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String operationId = null;
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            String resourceLocation = null;
+            Integer percentCompleted = null;
+            String apiVersion = null;
+            Map tags = null;
+            Error error = null;
+            OperationKind kind = OperationKind.DOCUMENT_MODEL_COMPOSE;
+            DocumentModelDetails result = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("operationId".equals(fieldName)) {
+                    operationId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("resourceLocation".equals(fieldName)) {
+                    resourceLocation = reader.getString();
+                } else if ("percentCompleted".equals(fieldName)) {
+                    percentCompleted = reader.getNullable(JsonReader::getInt);
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else if ("kind".equals(fieldName)) {
+                    kind = OperationKind.fromString(reader.getString());
+                } else if ("result".equals(fieldName)) {
+                    result = DocumentModelDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentModelComposeOperationDetails deserializedDocumentModelComposeOperationDetails
+                = new DocumentModelComposeOperationDetails(status, createdDateTime, lastUpdatedDateTime,
+                    resourceLocation);
+            deserializedDocumentModelComposeOperationDetails.setOperationId(operationId);
+            deserializedDocumentModelComposeOperationDetails.setPercentCompleted(percentCompleted);
+            deserializedDocumentModelComposeOperationDetails.setApiVersion(apiVersion);
+            deserializedDocumentModelComposeOperationDetails.setTags(tags);
+            deserializedDocumentModelComposeOperationDetails.setError(error);
+            deserializedDocumentModelComposeOperationDetails.kind = kind;
+            deserializedDocumentModelComposeOperationDetails.result = result;
+
+            return deserializedDocumentModelComposeOperationDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java
index 10379ae40177..a6f414fc36e5 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java
@@ -6,24 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
 
 /**
  * Get Operation response object.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
-@JsonTypeName("documentModelCopyTo")
 @Immutable
 public final class DocumentModelCopyToOperationDetails extends OperationDetails {
+    /*
+     * Type of operation.
+     */
+    @Generated
+    private OperationKind kind = OperationKind.DOCUMENT_MODEL_COPY_TO;
+
     /*
      * Operation result upon success.
      */
     @Generated
-    @JsonProperty(value = "result")
     private DocumentModelDetails result;
 
     /**
@@ -35,14 +40,22 @@ public final class DocumentModelCopyToOperationDetails extends OperationDetails
      * @param resourceLocation the resourceLocation value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentModelCopyToOperationDetails(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime,
-        @JsonProperty(value = "resourceLocation") String resourceLocation) {
+    private DocumentModelCopyToOperationDetails(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime, String resourceLocation) {
         super(status, createdDateTime, lastUpdatedDateTime, resourceLocation);
     }
 
+    /**
+     * Get the kind property: Type of operation.
+     * 
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public OperationKind getKind() {
+        return this.kind;
+    }
+
     /**
      * Get the result property: Operation result upon success.
      * 
@@ -52,4 +65,98 @@ private DocumentModelCopyToOperationDetails(@JsonProperty(value = "status") Oper
     public DocumentModelDetails getResult() {
         return this.result;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString());
+        jsonWriter.writeStringField("createdDateTime",
+            getCreatedDateTime() == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getCreatedDateTime()));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            getLastUpdatedDateTime() == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getLastUpdatedDateTime()));
+        jsonWriter.writeStringField("resourceLocation", getResourceLocation());
+        jsonWriter.writeNumberField("percentCompleted", getPercentCompleted());
+        jsonWriter.writeStringField("apiVersion", getApiVersion());
+        jsonWriter.writeMapField("tags", getTags(), (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("error", getError());
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeJsonField("result", this.result);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentModelCopyToOperationDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentModelCopyToOperationDetails if the JsonReader was pointing to an instance of it,
+     * or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentModelCopyToOperationDetails.
+     */
+    @Generated
+    public static DocumentModelCopyToOperationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String operationId = null;
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            String resourceLocation = null;
+            Integer percentCompleted = null;
+            String apiVersion = null;
+            Map tags = null;
+            Error error = null;
+            OperationKind kind = OperationKind.DOCUMENT_MODEL_COPY_TO;
+            DocumentModelDetails result = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("operationId".equals(fieldName)) {
+                    operationId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("resourceLocation".equals(fieldName)) {
+                    resourceLocation = reader.getString();
+                } else if ("percentCompleted".equals(fieldName)) {
+                    percentCompleted = reader.getNullable(JsonReader::getInt);
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else if ("kind".equals(fieldName)) {
+                    kind = OperationKind.fromString(reader.getString());
+                } else if ("result".equals(fieldName)) {
+                    result = DocumentModelDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentModelCopyToOperationDetails deserializedDocumentModelCopyToOperationDetails
+                = new DocumentModelCopyToOperationDetails(status, createdDateTime, lastUpdatedDateTime,
+                    resourceLocation);
+            deserializedDocumentModelCopyToOperationDetails.setOperationId(operationId);
+            deserializedDocumentModelCopyToOperationDetails.setPercentCompleted(percentCompleted);
+            deserializedDocumentModelCopyToOperationDetails.setApiVersion(apiVersion);
+            deserializedDocumentModelCopyToOperationDetails.setTags(tags);
+            deserializedDocumentModelCopyToOperationDetails.setError(error);
+            deserializedDocumentModelCopyToOperationDetails.kind = kind;
+            deserializedDocumentModelCopyToOperationDetails.result = result;
+
+            return deserializedDocumentModelCopyToOperationDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java
index 34c3d518297f..b4ff3daf2fdf 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java
@@ -6,9 +6,13 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
 
@@ -16,84 +20,73 @@
  * Document model info.
  */
 @Immutable
-public final class DocumentModelDetails {
+public final class DocumentModelDetails implements JsonSerializable {
     /*
      * Unique document model name.
      */
     @Generated
-    @JsonProperty(value = "modelId", access = JsonProperty.Access.WRITE_ONLY)
     private String modelId;
 
     /*
      * Document model description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Date and time (UTC) when the document model was created.
      */
     @Generated
-    @JsonProperty(value = "createdDateTime")
-    private OffsetDateTime createdDateTime;
+    private final OffsetDateTime createdDateTime;
 
     /*
      * Date and time (UTC) when the document model will expire.
      */
     @Generated
-    @JsonProperty(value = "expirationDateTime")
     private OffsetDateTime expirationDateTime;
 
     /*
      * API version used to create this document model.
      */
     @Generated
-    @JsonProperty(value = "apiVersion")
     private String apiVersion;
 
     /*
      * List of key-value tag attributes associated with the document model.
      */
     @Generated
-    @JsonProperty(value = "tags")
     private Map tags;
 
     /*
      * Custom document model build mode.
      */
     @Generated
-    @JsonProperty(value = "buildMode")
     private DocumentBuildMode buildMode;
 
     /*
-     * Azure Blob Storage location containing the training data. Either
+     * Azure Blob Storage location containing the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobSource")
     private AzureBlobContentSource azureBlobSource;
 
     /*
-     * Azure Blob Storage file list specifying the training data. Either
+     * Azure Blob Storage file list specifying the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobFileListSource")
     private AzureBlobFileListContentSource azureBlobFileListSource;
 
     /*
      * Supported document types.
      */
     @Generated
-    @JsonProperty(value = "docTypes")
     private Map docTypes;
 
     /*
      * List of warnings encountered while building the model.
      */
     @Generated
-    @JsonProperty(value = "warnings")
     private List warnings;
 
     /**
@@ -102,8 +95,7 @@ public final class DocumentModelDetails {
      * @param createdDateTime the createdDateTime value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentModelDetails(@JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime) {
+    private DocumentModelDetails(OffsetDateTime createdDateTime) {
         this.createdDateTime = createdDateTime;
     }
 
@@ -218,4 +210,99 @@ public Map getDocTypes() {
     public List getWarnings() {
         return this.warnings;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("createdDateTime",
+            this.createdDateTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.createdDateTime));
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("expirationDateTime",
+            this.expirationDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.expirationDateTime));
+        jsonWriter.writeStringField("apiVersion", this.apiVersion);
+        jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("buildMode", this.buildMode == null ? null : this.buildMode.toString());
+        jsonWriter.writeJsonField("azureBlobSource", this.azureBlobSource);
+        jsonWriter.writeJsonField("azureBlobFileListSource", this.azureBlobFileListSource);
+        jsonWriter.writeMapField("docTypes", this.docTypes, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("warnings", this.warnings, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentModelDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentModelDetails if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentModelDetails.
+     */
+    @Generated
+    public static DocumentModelDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String modelId = null;
+            OffsetDateTime createdDateTime = null;
+            String description = null;
+            OffsetDateTime expirationDateTime = null;
+            String apiVersion = null;
+            Map tags = null;
+            DocumentBuildMode buildMode = null;
+            AzureBlobContentSource azureBlobSource = null;
+            AzureBlobFileListContentSource azureBlobFileListSource = null;
+            Map docTypes = null;
+            List warnings = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("expirationDateTime".equals(fieldName)) {
+                    expirationDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("buildMode".equals(fieldName)) {
+                    buildMode = DocumentBuildMode.fromString(reader.getString());
+                } else if ("azureBlobSource".equals(fieldName)) {
+                    azureBlobSource = AzureBlobContentSource.fromJson(reader);
+                } else if ("azureBlobFileListSource".equals(fieldName)) {
+                    azureBlobFileListSource = AzureBlobFileListContentSource.fromJson(reader);
+                } else if ("docTypes".equals(fieldName)) {
+                    docTypes = reader.readMap(reader1 -> DocumentTypeDetails.fromJson(reader1));
+                } else if ("warnings".equals(fieldName)) {
+                    warnings = reader.readArray(reader1 -> Warning.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentModelDetails deserializedDocumentModelDetails = new DocumentModelDetails(createdDateTime);
+            deserializedDocumentModelDetails.modelId = modelId;
+            deserializedDocumentModelDetails.description = description;
+            deserializedDocumentModelDetails.expirationDateTime = expirationDateTime;
+            deserializedDocumentModelDetails.apiVersion = apiVersion;
+            deserializedDocumentModelDetails.tags = tags;
+            deserializedDocumentModelDetails.buildMode = buildMode;
+            deserializedDocumentModelDetails.azureBlobSource = azureBlobSource;
+            deserializedDocumentModelDetails.azureBlobFileListSource = azureBlobFileListSource;
+            deserializedDocumentModelDetails.docTypes = docTypes;
+            deserializedDocumentModelDetails.warnings = warnings;
+
+            return deserializedDocumentModelDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java
index b7368d85ab01..b7449a25d811 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java
@@ -6,42 +6,41 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Content and layout elements extracted from a page from the input.
  */
 @Immutable
-public final class DocumentPage {
+public final class DocumentPage implements JsonSerializable {
     /*
      * 1-based page number in the input document.
      */
     @Generated
-    @JsonProperty(value = "pageNumber")
-    private int pageNumber;
+    private final int pageNumber;
 
     /*
      * The general orientation of the content in clockwise direction, measured in
      * degrees between (-180, 180].
      */
     @Generated
-    @JsonProperty(value = "angle")
     private Double angle;
 
     /*
      * The width of the image/PDF in pixels/inches, respectively.
      */
     @Generated
-    @JsonProperty(value = "width")
     private Double width;
 
     /*
      * The height of the image/PDF in pixels/inches, respectively.
      */
     @Generated
-    @JsonProperty(value = "height")
     private Double height;
 
     /*
@@ -49,28 +48,24 @@ public final class DocumentPage {
      * unit is "pixel". For PDF, the unit is "inch".
      */
     @Generated
-    @JsonProperty(value = "unit")
     private LengthUnit unit;
 
     /*
      * Location of the page in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Extracted words from the page.
      */
     @Generated
-    @JsonProperty(value = "words")
     private List words;
 
     /*
      * Extracted selection marks from the page.
      */
     @Generated
-    @JsonProperty(value = "selectionMarks")
     private List selectionMarks;
 
     /*
@@ -78,21 +73,18 @@ public final class DocumentPage {
      * elements.
      */
     @Generated
-    @JsonProperty(value = "lines")
     private List lines;
 
     /*
      * Extracted barcodes from the page.
      */
     @Generated
-    @JsonProperty(value = "barcodes")
     private List barcodes;
 
     /*
      * Extracted formulas from the page.
      */
     @Generated
-    @JsonProperty(value = "formulas")
     private List formulas;
 
     /**
@@ -102,9 +94,7 @@ public final class DocumentPage {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentPage(@JsonProperty(value = "pageNumber") int pageNumber,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentPage(int pageNumber, List spans) {
         this.pageNumber = pageNumber;
         this.spans = spans;
     }
@@ -221,4 +211,94 @@ public List getBarcodes() {
     public List getFormulas() {
         return this.formulas;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("pageNumber", this.pageNumber);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeNumberField("angle", this.angle);
+        jsonWriter.writeNumberField("width", this.width);
+        jsonWriter.writeNumberField("height", this.height);
+        jsonWriter.writeStringField("unit", this.unit == null ? null : this.unit.toString());
+        jsonWriter.writeArrayField("words", this.words, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("selectionMarks", this.selectionMarks,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("lines", this.lines, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("barcodes", this.barcodes, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("formulas", this.formulas, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentPage from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentPage if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentPage.
+     */
+    @Generated
+    public static DocumentPage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int pageNumber = 0;
+            List spans = null;
+            Double angle = null;
+            Double width = null;
+            Double height = null;
+            LengthUnit unit = null;
+            List words = null;
+            List selectionMarks = null;
+            List lines = null;
+            List barcodes = null;
+            List formulas = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("pageNumber".equals(fieldName)) {
+                    pageNumber = reader.getInt();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("angle".equals(fieldName)) {
+                    angle = reader.getNullable(JsonReader::getDouble);
+                } else if ("width".equals(fieldName)) {
+                    width = reader.getNullable(JsonReader::getDouble);
+                } else if ("height".equals(fieldName)) {
+                    height = reader.getNullable(JsonReader::getDouble);
+                } else if ("unit".equals(fieldName)) {
+                    unit = LengthUnit.fromString(reader.getString());
+                } else if ("words".equals(fieldName)) {
+                    words = reader.readArray(reader1 -> DocumentWord.fromJson(reader1));
+                } else if ("selectionMarks".equals(fieldName)) {
+                    selectionMarks = reader.readArray(reader1 -> DocumentSelectionMark.fromJson(reader1));
+                } else if ("lines".equals(fieldName)) {
+                    lines = reader.readArray(reader1 -> DocumentLine.fromJson(reader1));
+                } else if ("barcodes".equals(fieldName)) {
+                    barcodes = reader.readArray(reader1 -> DocumentBarcode.fromJson(reader1));
+                } else if ("formulas".equals(fieldName)) {
+                    formulas = reader.readArray(reader1 -> DocumentFormula.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentPage deserializedDocumentPage = new DocumentPage(pageNumber, spans);
+            deserializedDocumentPage.angle = angle;
+            deserializedDocumentPage.width = width;
+            deserializedDocumentPage.height = height;
+            deserializedDocumentPage.unit = unit;
+            deserializedDocumentPage.words = words;
+            deserializedDocumentPage.selectionMarks = selectionMarks;
+            deserializedDocumentPage.lines = lines;
+            deserializedDocumentPage.barcodes = barcodes;
+            deserializedDocumentPage.formulas = formulas;
+
+            return deserializedDocumentPage;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java
index 78d7404b0ab3..c51cf67133c0 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java
@@ -6,8 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -15,34 +18,30 @@
  * alignment and spacing.
  */
 @Immutable
-public final class DocumentParagraph {
+public final class DocumentParagraph implements JsonSerializable {
     /*
      * Semantic role of the paragraph.
      */
     @Generated
-    @JsonProperty(value = "role")
     private ParagraphRole role;
 
     /*
      * Concatenated content of the paragraph in reading order.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the paragraph.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the paragraph in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /**
      * Creates an instance of DocumentParagraph class.
@@ -51,9 +50,7 @@ public final class DocumentParagraph {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentParagraph(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentParagraph(String content, List spans) {
         this.content = content;
         this.spans = spans;
     }
@@ -97,4 +94,59 @@ public List getBoundingRegions() {
     public List getSpans() {
         return this.spans;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("role", this.role == null ? null : this.role.toString());
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentParagraph from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentParagraph if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentParagraph.
+     */
+    @Generated
+    public static DocumentParagraph fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            List spans = null;
+            ParagraphRole role = null;
+            List boundingRegions = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("role".equals(fieldName)) {
+                    role = ParagraphRole.fromString(reader.getString());
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentParagraph deserializedDocumentParagraph = new DocumentParagraph(content, spans);
+            deserializedDocumentParagraph.role = role;
+            deserializedDocumentParagraph.boundingRegions = boundingRegions;
+
+            return deserializedDocumentParagraph;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java
index 74b92853346b..957c0888ad0a 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java
@@ -6,27 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing a section in the document.
  */
 @Immutable
-public final class DocumentSection {
+public final class DocumentSection implements JsonSerializable {
     /*
      * Location of the section in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the section.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /**
@@ -35,8 +36,7 @@ public final class DocumentSection {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentSection(@JsonProperty(value = "spans") List spans) {
+    private DocumentSection(List spans) {
         this.spans = spans;
     }
 
@@ -59,4 +59,49 @@ public List getSpans() {
     public List getElements() {
         return this.elements;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentSection from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentSection if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentSection.
+     */
+    @Generated
+    public static DocumentSection fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List spans = null;
+            List elements = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentSection deserializedDocumentSection = new DocumentSection(spans);
+            deserializedDocumentSection.elements = elements;
+
+            return deserializedDocumentSection;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java
index f1a3f5e072e5..44f66831497f 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java
@@ -6,8 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -15,13 +18,12 @@
  * elements indicating a selection.
  */
 @Immutable
-public final class DocumentSelectionMark {
+public final class DocumentSelectionMark implements JsonSerializable {
     /*
      * State of the selection mark.
      */
     @Generated
-    @JsonProperty(value = "state")
-    private DocumentSelectionMarkState state;
+    private final DocumentSelectionMarkState state;
 
     /*
      * Bounding polygon of the selection mark, with coordinates specified relative
@@ -30,22 +32,19 @@ public final class DocumentSelectionMark {
      * to the element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
     private List polygon;
 
     /*
      * Location of the selection mark in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "span")
-    private DocumentSpan span;
+    private final DocumentSpan span;
 
     /*
      * Confidence of correctly extracting the selection mark.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentSelectionMark class.
@@ -55,9 +54,7 @@ public final class DocumentSelectionMark {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentSelectionMark(@JsonProperty(value = "state") DocumentSelectionMarkState state,
-        @JsonProperty(value = "span") DocumentSpan span, @JsonProperty(value = "confidence") double confidence) {
+    private DocumentSelectionMark(DocumentSelectionMarkState state, DocumentSpan span, double confidence) {
         this.state = state;
         this.span = span;
         this.confidence = confidence;
@@ -105,4 +102,58 @@ public DocumentSpan getSpan() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("state", this.state == null ? null : this.state.toString());
+        jsonWriter.writeJsonField("span", this.span);
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentSelectionMark from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentSelectionMark if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentSelectionMark.
+     */
+    @Generated
+    public static DocumentSelectionMark fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentSelectionMarkState state = null;
+            DocumentSpan span = null;
+            double confidence = 0.0;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("state".equals(fieldName)) {
+                    state = DocumentSelectionMarkState.fromString(reader.getString());
+                } else if ("span".equals(fieldName)) {
+                    span = DocumentSpan.fromJson(reader);
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentSelectionMark deserializedDocumentSelectionMark
+                = new DocumentSelectionMark(state, span, confidence);
+            deserializedDocumentSelectionMark.polygon = polygon;
+
+            return deserializedDocumentSelectionMark;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java
index 1c359f354606..9785af8119ac 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -43,7 +42,6 @@ public DocumentSelectionMarkState() {
      * @return the corresponding DocumentSelectionMarkState.
      */
     @Generated
-    @JsonCreator
     public static DocumentSelectionMarkState fromString(String name) {
         return fromString(name, DocumentSelectionMarkState.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java
index e74972c9fc83..1178ff997092 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public DocumentSignatureType() {
      * @return the corresponding DocumentSignatureType.
      */
     @Generated
-    @JsonCreator
     public static DocumentSignatureType fromString(String name) {
         return fromString(name, DocumentSignatureType.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java
index 2f68e0e0d5fc..df0a27f72a49 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java
@@ -6,28 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Contiguous region of the concatenated content property, specified as an offset
  * and length.
  */
 @Immutable
-public final class DocumentSpan {
+public final class DocumentSpan implements JsonSerializable {
     /*
      * Zero-based index of the content represented by the span.
      */
     @Generated
-    @JsonProperty(value = "offset")
-    private int offset;
+    private final int offset;
 
     /*
      * Number of characters in the content represented by the span.
      */
     @Generated
-    @JsonProperty(value = "length")
-    private int length;
+    private final int length;
 
     /**
      * Creates an instance of DocumentSpan class.
@@ -36,8 +37,7 @@ public final class DocumentSpan {
      * @param length the length value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentSpan(@JsonProperty(value = "offset") int offset, @JsonProperty(value = "length") int length) {
+    private DocumentSpan(int offset, int length) {
         this.offset = offset;
         this.length = length;
     }
@@ -61,4 +61,46 @@ public int getOffset() {
     public int getLength() {
         return this.length;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("offset", this.offset);
+        jsonWriter.writeIntField("length", this.length);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentSpan from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentSpan if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentSpan.
+     */
+    @Generated
+    public static DocumentSpan fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int offset = 0;
+            int length = 0;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("offset".equals(fieldName)) {
+                    offset = reader.getInt();
+                } else if ("length".equals(fieldName)) {
+                    length = reader.getInt();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DocumentSpan(offset, length);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java
index 192323533e46..d5e8449a5208 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java
@@ -6,20 +6,22 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing observed text styles.
  */
 @Immutable
-public final class DocumentStyle {
+public final class DocumentStyle implements JsonSerializable {
     /*
      * Is content handwritten?
      */
     @Generated
-    @JsonProperty(value = "isHandwritten")
     private Boolean isHandwritten;
 
     /*
@@ -27,50 +29,43 @@ public final class DocumentStyle {
      * fallback fonts following CSS convention (ex. 'Arial, sans-serif').
      */
     @Generated
-    @JsonProperty(value = "similarFontFamily")
     private String similarFontFamily;
 
     /*
      * Font style.
      */
     @Generated
-    @JsonProperty(value = "fontStyle")
     private FontStyle fontStyle;
 
     /*
      * Font weight.
      */
     @Generated
-    @JsonProperty(value = "fontWeight")
     private FontWeight fontWeight;
 
     /*
      * Foreground color in #rrggbb hexadecimal format.
      */
     @Generated
-    @JsonProperty(value = "color")
     private String color;
 
     /*
      * Background color in #rrggbb hexadecimal format..
      */
     @Generated
-    @JsonProperty(value = "backgroundColor")
     private String backgroundColor;
 
     /*
      * Location of the text elements in the concatenated content the style applies to.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Confidence of correctly identifying the style.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentStyle class.
@@ -79,9 +74,7 @@ public final class DocumentStyle {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentStyle(@JsonProperty(value = "spans") List spans,
-        @JsonProperty(value = "confidence") double confidence) {
+    private DocumentStyle(List spans, double confidence) {
         this.spans = spans;
         this.confidence = confidence;
     }
@@ -167,4 +160,78 @@ public List getSpans() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeBooleanField("isHandwritten", this.isHandwritten);
+        jsonWriter.writeStringField("similarFontFamily", this.similarFontFamily);
+        jsonWriter.writeStringField("fontStyle", this.fontStyle == null ? null : this.fontStyle.toString());
+        jsonWriter.writeStringField("fontWeight", this.fontWeight == null ? null : this.fontWeight.toString());
+        jsonWriter.writeStringField("color", this.color);
+        jsonWriter.writeStringField("backgroundColor", this.backgroundColor);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentStyle from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentStyle if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentStyle.
+     */
+    @Generated
+    public static DocumentStyle fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List spans = null;
+            double confidence = 0.0;
+            Boolean isHandwritten = null;
+            String similarFontFamily = null;
+            FontStyle fontStyle = null;
+            FontWeight fontWeight = null;
+            String color = null;
+            String backgroundColor = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("isHandwritten".equals(fieldName)) {
+                    isHandwritten = reader.getNullable(JsonReader::getBoolean);
+                } else if ("similarFontFamily".equals(fieldName)) {
+                    similarFontFamily = reader.getString();
+                } else if ("fontStyle".equals(fieldName)) {
+                    fontStyle = FontStyle.fromString(reader.getString());
+                } else if ("fontWeight".equals(fieldName)) {
+                    fontWeight = FontWeight.fromString(reader.getString());
+                } else if ("color".equals(fieldName)) {
+                    color = reader.getString();
+                } else if ("backgroundColor".equals(fieldName)) {
+                    backgroundColor = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentStyle deserializedDocumentStyle = new DocumentStyle(spans, confidence);
+            deserializedDocumentStyle.isHandwritten = isHandwritten;
+            deserializedDocumentStyle.similarFontFamily = similarFontFamily;
+            deserializedDocumentStyle.fontStyle = fontStyle;
+            deserializedDocumentStyle.fontWeight = fontWeight;
+            deserializedDocumentStyle.color = color;
+            deserializedDocumentStyle.backgroundColor = backgroundColor;
+
+            return deserializedDocumentStyle;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java
index 354087d85178..983119c0b8be 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java
@@ -6,62 +6,58 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * A table object consisting table cells arranged in a rectangular layout.
  */
 @Immutable
-public final class DocumentTable {
+public final class DocumentTable implements JsonSerializable {
     /*
      * Number of rows in the table.
      */
     @Generated
-    @JsonProperty(value = "rowCount")
-    private int rowCount;
+    private final int rowCount;
 
     /*
      * Number of columns in the table.
      */
     @Generated
-    @JsonProperty(value = "columnCount")
-    private int columnCount;
+    private final int columnCount;
 
     /*
      * Cells contained within the table.
      */
     @Generated
-    @JsonProperty(value = "cells")
-    private List cells;
+    private final List cells;
 
     /*
      * Bounding regions covering the table.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the table in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Caption associated with the table.
      */
     @Generated
-    @JsonProperty(value = "caption")
     private DocumentCaption caption;
 
     /*
      * List of footnotes associated with the table.
      */
     @Generated
-    @JsonProperty(value = "footnotes")
     private List footnotes;
 
     /**
@@ -73,11 +69,7 @@ public final class DocumentTable {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentTable(@JsonProperty(value = "rowCount") int rowCount,
-        @JsonProperty(value = "columnCount") int columnCount,
-        @JsonProperty(value = "cells") List cells,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentTable(int rowCount, int columnCount, List cells, List spans) {
         this.rowCount = rowCount;
         this.columnCount = columnCount;
         this.cells = cells;
@@ -153,4 +145,72 @@ public DocumentCaption getCaption() {
     public List getFootnotes() {
         return this.footnotes;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("rowCount", this.rowCount);
+        jsonWriter.writeIntField("columnCount", this.columnCount);
+        jsonWriter.writeArrayField("cells", this.cells, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("caption", this.caption);
+        jsonWriter.writeArrayField("footnotes", this.footnotes, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentTable from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentTable if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentTable.
+     */
+    @Generated
+    public static DocumentTable fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int rowCount = 0;
+            int columnCount = 0;
+            List cells = null;
+            List spans = null;
+            List boundingRegions = null;
+            DocumentCaption caption = null;
+            List footnotes = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("rowCount".equals(fieldName)) {
+                    rowCount = reader.getInt();
+                } else if ("columnCount".equals(fieldName)) {
+                    columnCount = reader.getInt();
+                } else if ("cells".equals(fieldName)) {
+                    cells = reader.readArray(reader1 -> DocumentTableCell.fromJson(reader1));
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("caption".equals(fieldName)) {
+                    caption = DocumentCaption.fromJson(reader);
+                } else if ("footnotes".equals(fieldName)) {
+                    footnotes = reader.readArray(reader1 -> DocumentFootnote.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentTable deserializedDocumentTable = new DocumentTable(rowCount, columnCount, cells, spans);
+            deserializedDocumentTable.boundingRegions = boundingRegions;
+            deserializedDocumentTable.caption = caption;
+            deserializedDocumentTable.footnotes = footnotes;
+
+            return deserializedDocumentTable;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java
index df50a1ea146d..63e424baf5e9 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java
@@ -6,76 +6,70 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing the location and content of a table cell.
  */
 @Immutable
-public final class DocumentTableCell {
+public final class DocumentTableCell implements JsonSerializable {
     /*
      * Table cell kind.
      */
     @Generated
-    @JsonProperty(value = "kind")
     private DocumentTableCellKind kind;
 
     /*
      * Row index of the cell.
      */
     @Generated
-    @JsonProperty(value = "rowIndex")
-    private int rowIndex;
+    private final int rowIndex;
 
     /*
      * Column index of the cell.
      */
     @Generated
-    @JsonProperty(value = "columnIndex")
-    private int columnIndex;
+    private final int columnIndex;
 
     /*
      * Number of rows spanned by this cell.
      */
     @Generated
-    @JsonProperty(value = "rowSpan")
     private Integer rowSpan;
 
     /*
      * Number of columns spanned by this cell.
      */
     @Generated
-    @JsonProperty(value = "columnSpan")
     private Integer columnSpan;
 
     /*
      * Concatenated content of the table cell in reading order.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the table cell.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the table cell in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the table cell.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /**
@@ -87,10 +81,7 @@ public final class DocumentTableCell {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentTableCell(@JsonProperty(value = "rowIndex") int rowIndex,
-        @JsonProperty(value = "columnIndex") int columnIndex, @JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentTableCell(int rowIndex, int columnIndex, String content, List spans) {
         this.rowIndex = rowIndex;
         this.columnIndex = columnIndex;
         this.content = content;
@@ -186,4 +177,83 @@ public List getSpans() {
     public List getElements() {
         return this.elements;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("rowIndex", this.rowIndex);
+        jsonWriter.writeIntField("columnIndex", this.columnIndex);
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeNumberField("rowSpan", this.rowSpan);
+        jsonWriter.writeNumberField("columnSpan", this.columnSpan);
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentTableCell from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentTableCell if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentTableCell.
+     */
+    @Generated
+    public static DocumentTableCell fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int rowIndex = 0;
+            int columnIndex = 0;
+            String content = null;
+            List spans = null;
+            DocumentTableCellKind kind = null;
+            Integer rowSpan = null;
+            Integer columnSpan = null;
+            List boundingRegions = null;
+            List elements = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("rowIndex".equals(fieldName)) {
+                    rowIndex = reader.getInt();
+                } else if ("columnIndex".equals(fieldName)) {
+                    columnIndex = reader.getInt();
+                } else if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("kind".equals(fieldName)) {
+                    kind = DocumentTableCellKind.fromString(reader.getString());
+                } else if ("rowSpan".equals(fieldName)) {
+                    rowSpan = reader.getNullable(JsonReader::getInt);
+                } else if ("columnSpan".equals(fieldName)) {
+                    columnSpan = reader.getNullable(JsonReader::getInt);
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentTableCell deserializedDocumentTableCell
+                = new DocumentTableCell(rowIndex, columnIndex, content, spans);
+            deserializedDocumentTableCell.kind = kind;
+            deserializedDocumentTableCell.rowSpan = rowSpan;
+            deserializedDocumentTableCell.columnSpan = columnSpan;
+            deserializedDocumentTableCell.boundingRegions = boundingRegions;
+            deserializedDocumentTableCell.elements = elements;
+
+            return deserializedDocumentTableCell;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java
index 3130892508c2..2657e27bcbb4 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -60,7 +59,6 @@ public DocumentTableCellKind() {
      * @return the corresponding DocumentTableCellKind.
      */
     @Generated
-    @JsonCreator
     public static DocumentTableCellKind fromString(String name) {
         return fromString(name, DocumentTableCellKind.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java
index 80549b1681f3..f3d0776025f8 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java
@@ -6,41 +6,40 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Document type info.
  */
 @Immutable
-public final class DocumentTypeDetails {
+public final class DocumentTypeDetails implements JsonSerializable {
     /*
      * Document model description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Custom document model build mode.
      */
     @Generated
-    @JsonProperty(value = "buildMode")
     private DocumentBuildMode buildMode;
 
     /*
      * Description of the document semantic schema using a JSON Schema style syntax.
      */
     @Generated
-    @JsonProperty(value = "fieldSchema")
-    private Map fieldSchema;
+    private final Map fieldSchema;
 
     /*
      * Estimated confidence for each field.
      */
     @Generated
-    @JsonProperty(value = "fieldConfidence")
     private Map fieldConfidence;
 
     /**
@@ -49,8 +48,7 @@ public final class DocumentTypeDetails {
      * @param fieldSchema the fieldSchema value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentTypeDetails(@JsonProperty(value = "fieldSchema") Map fieldSchema) {
+    private DocumentTypeDetails(Map fieldSchema) {
         this.fieldSchema = fieldSchema;
     }
 
@@ -93,4 +91,60 @@ public Map getFieldSchema() {
     public Map getFieldConfidence() {
         return this.fieldConfidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("fieldSchema", this.fieldSchema, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("buildMode", this.buildMode == null ? null : this.buildMode.toString());
+        jsonWriter.writeMapField("fieldConfidence", this.fieldConfidence,
+            (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentTypeDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentTypeDetails if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentTypeDetails.
+     */
+    @Generated
+    public static DocumentTypeDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            Map fieldSchema = null;
+            String description = null;
+            DocumentBuildMode buildMode = null;
+            Map fieldConfidence = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("fieldSchema".equals(fieldName)) {
+                    fieldSchema = reader.readMap(reader1 -> DocumentFieldSchema.fromJson(reader1));
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("buildMode".equals(fieldName)) {
+                    buildMode = DocumentBuildMode.fromString(reader.getString());
+                } else if ("fieldConfidence".equals(fieldName)) {
+                    fieldConfidence = reader.readMap(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentTypeDetails deserializedDocumentTypeDetails = new DocumentTypeDetails(fieldSchema);
+            deserializedDocumentTypeDetails.description = description;
+            deserializedDocumentTypeDetails.buildMode = buildMode;
+            deserializedDocumentTypeDetails.fieldConfidence = fieldConfidence;
+
+            return deserializedDocumentTypeDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java
index ac7e0aa2af22..9c0b6afaada4 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java
@@ -6,8 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -16,13 +19,12 @@
  * represented as its own word.
  */
 @Immutable
-public final class DocumentWord {
+public final class DocumentWord implements JsonSerializable {
     /*
      * Text content of the word.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding polygon of the word, with coordinates specified relative to the
@@ -31,22 +33,19 @@ public final class DocumentWord {
      * element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
     private List polygon;
 
     /*
      * Location of the word in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "span")
-    private DocumentSpan span;
+    private final DocumentSpan span;
 
     /*
      * Confidence of correctly extracting the word.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentWord class.
@@ -56,9 +55,7 @@ public final class DocumentWord {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentWord(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "span") DocumentSpan span, @JsonProperty(value = "confidence") double confidence) {
+    private DocumentWord(String content, DocumentSpan span, double confidence) {
         this.content = content;
         this.span = span;
         this.confidence = confidence;
@@ -106,4 +103,57 @@ public DocumentSpan getSpan() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeJsonField("span", this.span);
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentWord from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentWord if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentWord.
+     */
+    @Generated
+    public static DocumentWord fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            DocumentSpan span = null;
+            double confidence = 0.0;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("span".equals(fieldName)) {
+                    span = DocumentSpan.fromJson(reader);
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentWord deserializedDocumentWord = new DocumentWord(content, span, confidence);
+            deserializedDocumentWord.polygon = polygon;
+
+            return deserializedDocumentWord;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java
index d54dbdc23c3f..09f11c7e0fbf 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java
@@ -6,48 +6,46 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The error object.
  */
 @Immutable
-public final class Error {
+public final class Error implements JsonSerializable {
     /*
      * One of a server-defined set of error codes.
      */
     @Generated
-    @JsonProperty(value = "code")
-    private String code;
+    private final String code;
 
     /*
      * A human-readable representation of the error.
      */
     @Generated
-    @JsonProperty(value = "message")
-    private String message;
+    private final String message;
 
     /*
      * The target of the error.
      */
     @Generated
-    @JsonProperty(value = "target")
     private String target;
 
     /*
      * An array of details about specific errors that led to this reported error.
      */
     @Generated
-    @JsonProperty(value = "details")
     private List details;
 
     /*
      * An object containing more specific information than the current object about the error.
      */
     @Generated
-    @JsonProperty(value = "innererror")
     private InnerError innererror;
 
     /**
@@ -57,8 +55,7 @@ public final class Error {
      * @param message the message value to set.
      */
     @Generated
-    @JsonCreator
-    private Error(@JsonProperty(value = "code") String code, @JsonProperty(value = "message") String message) {
+    private Error(String code, String message) {
         this.code = code;
         this.message = message;
     }
@@ -113,4 +110,63 @@ public List getDetails() {
     public InnerError getInnererror() {
         return this.innererror;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("code", this.code);
+        jsonWriter.writeStringField("message", this.message);
+        jsonWriter.writeStringField("target", this.target);
+        jsonWriter.writeArrayField("details", this.details, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("innererror", this.innererror);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of Error from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of Error if the JsonReader was pointing to an instance of it, or null if it was pointing to
+     * JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the Error.
+     */
+    @Generated
+    public static Error fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String code = null;
+            String message = null;
+            String target = null;
+            List details = null;
+            InnerError innererror = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("code".equals(fieldName)) {
+                    code = reader.getString();
+                } else if ("message".equals(fieldName)) {
+                    message = reader.getString();
+                } else if ("target".equals(fieldName)) {
+                    target = reader.getString();
+                } else if ("details".equals(fieldName)) {
+                    details = reader.readArray(reader1 -> Error.fromJson(reader1));
+                } else if ("innererror".equals(fieldName)) {
+                    innererror = InnerError.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            Error deserializedError = new Error(code, message);
+            deserializedError.target = target;
+            deserializedError.details = details;
+            deserializedError.innererror = innererror;
+
+            return deserializedError;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java
index 9453bc3d4994..e31d82c6f234 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public FontStyle() {
      * @return the corresponding FontStyle.
      */
     @Generated
-    @JsonCreator
     public static FontStyle fromString(String name) {
         return fromString(name, FontStyle.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java
index bc77905c2d00..39b2f1e1c86a 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public FontWeight() {
      * @return the corresponding FontWeight.
      */
     @Generated
-    @JsonCreator
     public static FontWeight fromString(String name) {
         return fromString(name, FontWeight.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java
index 2b7928d36e75..0aadb6f6869c 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An object containing more specific information about the error.
  */
 @Immutable
-public final class InnerError {
+public final class InnerError implements JsonSerializable {
     /*
      * One of a server-defined set of error codes.
      */
     @Generated
-    @JsonProperty(value = "code")
     private String code;
 
     /*
      * A human-readable representation of the error.
      */
     @Generated
-    @JsonProperty(value = "message")
     private String message;
 
     /*
      * Inner error.
      */
     @Generated
-    @JsonProperty(value = "innererror")
     private InnerError innererror;
 
     /**
@@ -70,4 +71,48 @@ public String getMessage() {
     public InnerError getInnererror() {
         return this.innererror;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("code", this.code);
+        jsonWriter.writeStringField("message", this.message);
+        jsonWriter.writeJsonField("innererror", this.innererror);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of InnerError from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of InnerError if the JsonReader was pointing to an instance of it, or null if it was pointing
+     * to JSON null.
+     * @throws IOException If an error occurs while reading the InnerError.
+     */
+    @Generated
+    public static InnerError fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            InnerError deserializedInnerError = new InnerError();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("code".equals(fieldName)) {
+                    deserializedInnerError.code = reader.getString();
+                } else if ("message".equals(fieldName)) {
+                    deserializedInnerError.message = reader.getString();
+                } else if ("innererror".equals(fieldName)) {
+                    deserializedInnerError.innererror = InnerError.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedInnerError;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java
index 30ef6445c8f6..28b1164f02a2 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -43,7 +42,6 @@ public LengthUnit() {
      * @return the corresponding LengthUnit.
      */
     @Generated
-    @JsonCreator
     public static LengthUnit fromString(String name) {
         return fromString(name, LengthUnit.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java
index ed602b071ca6..413ee7aeed4e 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java
@@ -6,91 +6,78 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Map;
 
 /**
  * Operation info.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "kind",
-    defaultImpl = OperationDetails.class)
-@JsonTypeName("OperationDetails")
-@JsonSubTypes({
-    @JsonSubTypes.Type(name = "documentModelCompose", value = DocumentModelComposeOperationDetails.class),
-    @JsonSubTypes.Type(name = "documentModelCopyTo", value = DocumentModelCopyToOperationDetails.class),
-    @JsonSubTypes.Type(name = "documentClassifierBuild", value = DocumentClassifierBuildOperationDetails.class),
-    @JsonSubTypes.Type(name = "documentModelBuild", value = DocumentModelBuildOperationDetails.class) })
 @Immutable
-public class OperationDetails {
+public class OperationDetails implements JsonSerializable {
+    /*
+     * Type of operation.
+     */
+    @Generated
+    private OperationKind kind;
+
     /*
      * Operation ID
      */
     @Generated
-    @JsonProperty(value = "operationId", access = JsonProperty.Access.WRITE_ONLY)
     private String operationId;
 
     /*
-     * Operation status. notStarted, running, completed, or failed
+     * Operation status.  notStarted, running, completed, or failed
      */
     @Generated
-    @JsonProperty(value = "status")
-    private OperationStatus status;
+    private final OperationStatus status;
 
     /*
      * Operation progress (0-100).
      */
     @Generated
-    @JsonProperty(value = "percentCompleted")
     private Integer percentCompleted;
 
     /*
      * Date and time (UTC) when the operation was created.
      */
     @Generated
-    @JsonProperty(value = "createdDateTime")
-    private OffsetDateTime createdDateTime;
+    private final OffsetDateTime createdDateTime;
 
     /*
      * Date and time (UTC) when the status was last updated.
      */
     @Generated
-    @JsonProperty(value = "lastUpdatedDateTime")
-    private OffsetDateTime lastUpdatedDateTime;
+    private final OffsetDateTime lastUpdatedDateTime;
 
     /*
      * URL of the resource targeted by this operation.
      */
     @Generated
-    @JsonProperty(value = "resourceLocation")
-    private String resourceLocation;
+    private final String resourceLocation;
 
     /*
      * API version used to create this operation.
      */
     @Generated
-    @JsonProperty(value = "apiVersion")
     private String apiVersion;
 
     /*
      * List of key-value tag attributes associated with the document model.
      */
     @Generated
-    @JsonProperty(value = "tags")
     private Map tags;
 
     /*
      * Encountered error.
      */
     @Generated
-    @JsonProperty(value = "error")
     private Error error;
 
     /**
@@ -102,17 +89,25 @@ public class OperationDetails {
      * @param resourceLocation the resourceLocation value to set.
      */
     @Generated
-    @JsonCreator
-    protected OperationDetails(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime,
-        @JsonProperty(value = "resourceLocation") String resourceLocation) {
+    protected OperationDetails(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime, String resourceLocation) {
+        this.kind = OperationKind.fromString("OperationDetails");
         this.status = status;
         this.createdDateTime = createdDateTime;
         this.lastUpdatedDateTime = lastUpdatedDateTime;
         this.resourceLocation = resourceLocation;
     }
 
+    /**
+     * Get the kind property: Type of operation.
+     * 
+     * @return the kind value.
+     */
+    @Generated
+    public OperationKind getKind() {
+        return this.kind;
+    }
+
     /**
      * Get the operationId property: Operation ID.
      * 
@@ -123,6 +118,18 @@ public String getOperationId() {
         return this.operationId;
     }
 
+    /**
+     * Set the operationId property: Operation ID.
+     * 
+     * @param operationId the operationId value to set.
+     * @return the OperationDetails object itself.
+     */
+    @Generated
+    OperationDetails setOperationId(String operationId) {
+        this.operationId = operationId;
+        return this;
+    }
+
     /**
      * Get the status property: Operation status. notStarted, running, completed, or failed.
      * 
@@ -143,6 +150,18 @@ public Integer getPercentCompleted() {
         return this.percentCompleted;
     }
 
+    /**
+     * Set the percentCompleted property: Operation progress (0-100).
+     * 
+     * @param percentCompleted the percentCompleted value to set.
+     * @return the OperationDetails object itself.
+     */
+    @Generated
+    OperationDetails setPercentCompleted(Integer percentCompleted) {
+        this.percentCompleted = percentCompleted;
+        return this;
+    }
+
     /**
      * Get the createdDateTime property: Date and time (UTC) when the operation was created.
      * 
@@ -183,6 +202,18 @@ public String getApiVersion() {
         return this.apiVersion;
     }
 
+    /**
+     * Set the apiVersion property: API version used to create this operation.
+     * 
+     * @param apiVersion the apiVersion value to set.
+     * @return the OperationDetails object itself.
+     */
+    @Generated
+    OperationDetails setApiVersion(String apiVersion) {
+        this.apiVersion = apiVersion;
+        return this;
+    }
+
     /**
      * Get the tags property: List of key-value tag attributes associated with the document model.
      * 
@@ -193,6 +224,18 @@ public Map getTags() {
         return this.tags;
     }
 
+    /**
+     * Set the tags property: List of key-value tag attributes associated with the document model.
+     * 
+     * @param tags the tags value to set.
+     * @return the OperationDetails object itself.
+     */
+    @Generated
+    OperationDetails setTags(Map tags) {
+        this.tags = tags;
+        return this;
+    }
+
     /**
      * Get the error property: Encountered error.
      * 
@@ -202,4 +245,136 @@ public Map getTags() {
     public Error getError() {
         return this.error;
     }
+
+    /**
+     * Set the error property: Encountered error.
+     * 
+     * @param error the error value to set.
+     * @return the OperationDetails object itself.
+     */
+    @Generated
+    OperationDetails setError(Error error) {
+        this.error = error;
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeStringField("createdDateTime",
+            this.createdDateTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.createdDateTime));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            this.lastUpdatedDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.lastUpdatedDateTime));
+        jsonWriter.writeStringField("resourceLocation", this.resourceLocation);
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeNumberField("percentCompleted", this.percentCompleted);
+        jsonWriter.writeStringField("apiVersion", this.apiVersion);
+        jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("error", this.error);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of OperationDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of OperationDetails if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the OperationDetails.
+     */
+    @Generated
+    public static OperationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String discriminatorValue = null;
+            try (JsonReader readerToUse = reader.bufferObject()) {
+                readerToUse.nextToken(); // Prepare for reading
+                while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+                    String fieldName = readerToUse.getFieldName();
+                    readerToUse.nextToken();
+                    if ("kind".equals(fieldName)) {
+                        discriminatorValue = readerToUse.getString();
+                        break;
+                    } else {
+                        readerToUse.skipChildren();
+                    }
+                }
+                // Use the discriminator value to determine which subtype should be deserialized.
+                if ("documentModelCompose".equals(discriminatorValue)) {
+                    return DocumentModelComposeOperationDetails.fromJson(readerToUse.reset());
+                } else if ("documentModelCopyTo".equals(discriminatorValue)) {
+                    return DocumentModelCopyToOperationDetails.fromJson(readerToUse.reset());
+                } else if ("documentClassifierBuild".equals(discriminatorValue)) {
+                    return DocumentClassifierBuildOperationDetails.fromJson(readerToUse.reset());
+                } else if ("documentModelBuild".equals(discriminatorValue)) {
+                    return DocumentModelBuildOperationDetails.fromJson(readerToUse.reset());
+                } else {
+                    return fromJsonKnownDiscriminator(readerToUse.reset());
+                }
+            }
+        });
+    }
+
+    @Generated
+    static OperationDetails fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String operationId = null;
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            String resourceLocation = null;
+            OperationKind kind = null;
+            Integer percentCompleted = null;
+            String apiVersion = null;
+            Map tags = null;
+            Error error = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("operationId".equals(fieldName)) {
+                    operationId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("resourceLocation".equals(fieldName)) {
+                    resourceLocation = reader.getString();
+                } else if ("kind".equals(fieldName)) {
+                    kind = OperationKind.fromString(reader.getString());
+                } else if ("percentCompleted".equals(fieldName)) {
+                    percentCompleted = reader.getNullable(JsonReader::getInt);
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            OperationDetails deserializedOperationDetails
+                = new OperationDetails(status, createdDateTime, lastUpdatedDateTime, resourceLocation);
+            deserializedOperationDetails.operationId = operationId;
+            deserializedOperationDetails.kind = kind;
+            deserializedOperationDetails.percentCompleted = percentCompleted;
+            deserializedOperationDetails.apiVersion = apiVersion;
+            deserializedOperationDetails.tags = tags;
+            deserializedOperationDetails.error = error;
+
+            return deserializedOperationDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationKind.java
new file mode 100644
index 000000000000..313d3a42dbe5
--- /dev/null
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationKind.java
@@ -0,0 +1,70 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.ai.documentintelligence.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * Type of operation.
+ */
+public final class OperationKind extends ExpandableStringEnum {
+    /**
+     * Build a new custom document model.
+     */
+    @Generated
+    public static final OperationKind DOCUMENT_MODEL_BUILD = fromString("documentModelBuild");
+
+    /**
+     * Compose a new custom document model from existing models.
+     */
+    @Generated
+    public static final OperationKind DOCUMENT_MODEL_COMPOSE = fromString("documentModelCompose");
+
+    /**
+     * Copy an existing document model to potentially a different resource, region, or
+     * subscription.
+     */
+    @Generated
+    public static final OperationKind DOCUMENT_MODEL_COPY_TO = fromString("documentModelCopyTo");
+
+    /**
+     * Build a new custom classifier model.
+     */
+    @Generated
+    public static final OperationKind DOCUMENT_CLASSIFIER_BUILD = fromString("documentClassifierBuild");
+
+    /**
+     * Creates a new instance of OperationKind value.
+     * 
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public OperationKind() {
+    }
+
+    /**
+     * Creates or finds a OperationKind from its string representation.
+     * 
+     * @param name a name to look for.
+     * @return the corresponding OperationKind.
+     */
+    @Generated
+    public static OperationKind fromString(String name) {
+        return fromString(name, OperationKind.class);
+    }
+
+    /**
+     * Gets known OperationKind values.
+     * 
+     * @return known OperationKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(OperationKind.class);
+    }
+}
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java
index 7735b857915f..a1a150f54d73 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -66,7 +65,6 @@ public OperationStatus() {
      * @return the corresponding OperationStatus.
      */
     @Generated
-    @JsonCreator
     public static OperationStatus fromString(String name) {
         return fromString(name, OperationStatus.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java
index f1228100752d..e996d59dd685 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -72,7 +71,6 @@ public ParagraphRole() {
      * @return the corresponding ParagraphRole.
      */
     @Generated
-    @JsonCreator
     public static ParagraphRole fromString(String name) {
         return fromString(name, ParagraphRole.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java
index 4e08872f9f72..1cbd8ccad721 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java
@@ -6,35 +6,36 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 
 /**
  * Quota used, limit, and next reset date/time.
  */
 @Immutable
-public final class QuotaDetails {
+public final class QuotaDetails implements JsonSerializable {
     /*
      * Amount of the resource quota used.
      */
     @Generated
-    @JsonProperty(value = "used")
-    private int used;
+    private final int used;
 
     /*
      * Resource quota limit.
      */
     @Generated
-    @JsonProperty(value = "quota")
-    private int quota;
+    private final int quota;
 
     /*
      * Date/time when the resource quota usage will be reset.
      */
     @Generated
-    @JsonProperty(value = "quotaResetDateTime")
-    private OffsetDateTime quotaResetDateTime;
+    private final OffsetDateTime quotaResetDateTime;
 
     /**
      * Creates an instance of QuotaDetails class.
@@ -44,9 +45,7 @@ public final class QuotaDetails {
      * @param quotaResetDateTime the quotaResetDateTime value to set.
      */
     @Generated
-    @JsonCreator
-    private QuotaDetails(@JsonProperty(value = "used") int used, @JsonProperty(value = "quota") int quota,
-        @JsonProperty(value = "quotaResetDateTime") OffsetDateTime quotaResetDateTime) {
+    private QuotaDetails(int used, int quota, OffsetDateTime quotaResetDateTime) {
         this.used = used;
         this.quota = quota;
         this.quotaResetDateTime = quotaResetDateTime;
@@ -81,4 +80,54 @@ public int getQuota() {
     public OffsetDateTime getQuotaResetDateTime() {
         return this.quotaResetDateTime;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("used", this.used);
+        jsonWriter.writeIntField("quota", this.quota);
+        jsonWriter.writeStringField("quotaResetDateTime",
+            this.quotaResetDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.quotaResetDateTime));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of QuotaDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of QuotaDetails if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the QuotaDetails.
+     */
+    @Generated
+    public static QuotaDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int used = 0;
+            int quota = 0;
+            OffsetDateTime quotaResetDateTime = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("used".equals(fieldName)) {
+                    used = reader.getInt();
+                } else if ("quota".equals(fieldName)) {
+                    quota = reader.getInt();
+                } else if ("quotaResetDateTime".equals(fieldName)) {
+                    quotaResetDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new QuotaDetails(used, quota, quotaResetDateTime);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java
index 8b5a470f2fd5..ffc4913ac704 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java
@@ -6,27 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * General information regarding the current resource.
  */
 @Immutable
-public final class ResourceDetails {
+public final class ResourceDetails implements JsonSerializable {
     /*
      * Details regarding custom document models.
      */
     @Generated
-    @JsonProperty(value = "customDocumentModels")
-    private CustomDocumentModelsDetails customDocumentModels;
+    private final CustomDocumentModelsDetails customDocumentModels;
 
     /*
      * Quota used, limit, and next reset date/time.
      */
     @Generated
-    @JsonProperty(value = "customNeuralDocumentModelBuilds")
-    private QuotaDetails customNeuralDocumentModelBuilds;
+    private final QuotaDetails customNeuralDocumentModelBuilds;
 
     /**
      * Creates an instance of ResourceDetails class.
@@ -35,10 +36,8 @@ public final class ResourceDetails {
      * @param customNeuralDocumentModelBuilds the customNeuralDocumentModelBuilds value to set.
      */
     @Generated
-    @JsonCreator
-    private ResourceDetails(
-        @JsonProperty(value = "customDocumentModels") CustomDocumentModelsDetails customDocumentModels,
-        @JsonProperty(value = "customNeuralDocumentModelBuilds") QuotaDetails customNeuralDocumentModelBuilds) {
+    private ResourceDetails(CustomDocumentModelsDetails customDocumentModels,
+        QuotaDetails customNeuralDocumentModelBuilds) {
         this.customDocumentModels = customDocumentModels;
         this.customNeuralDocumentModelBuilds = customNeuralDocumentModelBuilds;
     }
@@ -62,4 +61,46 @@ public CustomDocumentModelsDetails getCustomDocumentModels() {
     public QuotaDetails getCustomNeuralDocumentModelBuilds() {
         return this.customNeuralDocumentModelBuilds;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeJsonField("customDocumentModels", this.customDocumentModels);
+        jsonWriter.writeJsonField("customNeuralDocumentModelBuilds", this.customNeuralDocumentModelBuilds);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ResourceDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ResourceDetails if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ResourceDetails.
+     */
+    @Generated
+    public static ResourceDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            CustomDocumentModelsDetails customDocumentModels = null;
+            QuotaDetails customNeuralDocumentModelBuilds = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("customDocumentModels".equals(fieldName)) {
+                    customDocumentModels = CustomDocumentModelsDetails.fromJson(reader);
+                } else if ("customNeuralDocumentModelBuilds".equals(fieldName)) {
+                    customNeuralDocumentModelBuilds = QuotaDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new ResourceDetails(customDocumentModels, customNeuralDocumentModelBuilds);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java
index b26b7e10b485..4bd39e703fcf 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public SplitMode() {
      * @return the corresponding SplitMode.
      */
     @Generated
-    @JsonCreator
     public static SplitMode fromString(String name) {
         return fromString(name, SplitMode.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java
index 73f5eed18408..1babb038cbde 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -50,7 +49,6 @@ public StringIndexType() {
      * @return the corresponding StringIndexType.
      */
     @Generated
-    @JsonCreator
     public static StringIndexType fromString(String name) {
         return fromString(name, StringIndexType.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Warning.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Warning.java
index 55562a9229aa..c755fba0a7b5 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Warning.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Warning.java
@@ -6,33 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The error object.
  */
 @Immutable
-public final class Warning {
+public final class Warning implements JsonSerializable {
     /*
      * One of a server-defined set of warning codes.
      */
     @Generated
-    @JsonProperty(value = "code")
-    private String code;
+    private final String code;
 
     /*
      * A human-readable representation of the warning.
      */
     @Generated
-    @JsonProperty(value = "message")
-    private String message;
+    private final String message;
 
     /*
      * The target of the error.
      */
     @Generated
-    @JsonProperty(value = "target")
     private String target;
 
     /**
@@ -42,8 +42,7 @@ public final class Warning {
      * @param message the message value to set.
      */
     @Generated
-    @JsonCreator
-    private Warning(@JsonProperty(value = "code") String code, @JsonProperty(value = "message") String message) {
+    private Warning(String code, String message) {
         this.code = code;
         this.message = message;
     }
@@ -77,4 +76,53 @@ public String getMessage() {
     public String getTarget() {
         return this.target;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("code", this.code);
+        jsonWriter.writeStringField("message", this.message);
+        jsonWriter.writeStringField("target", this.target);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of Warning from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of Warning if the JsonReader was pointing to an instance of it, or null if it was pointing to
+     * JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the Warning.
+     */
+    @Generated
+    public static Warning fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String code = null;
+            String message = null;
+            String target = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("code".equals(fieldName)) {
+                    code = reader.getString();
+                } else if ("message".equals(fieldName)) {
+                    message = reader.getString();
+                } else if ("target".equals(fieldName)) {
+                    target = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            Warning deserializedWarning = new Warning(code, message);
+            deserializedWarning.target = target;
+
+            return deserializedWarning;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java
index 1905329421da..d0e120e8de76 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java
@@ -4,7 +4,8 @@
 
 module com.azure.ai.documentintelligence {
     requires transitive com.azure.core;
+    requires transitive com.azure.json;
     exports com.azure.ai.documentintelligence;
     exports com.azure.ai.documentintelligence.models;
-    opens com.azure.ai.documentintelligence.models to com.azure.core, com.fasterxml.jackson.databind;
+    opens com.azure.ai.documentintelligence.models to com.azure.core;
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java
index 03fd46aba5a0..5603365388d6 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java
@@ -13,8 +13,8 @@
 import com.azure.core.exception.ResourceNotFoundException;
 import com.azure.core.http.rest.RequestOptions;
 import com.azure.core.util.BinaryData;
-import com.azure.core.util.polling.PollOperationDetails;
 import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.PollOperationDetails;
 import com.azure.health.insights.radiologyinsights.implementation.RadiologyInsightsClientImpl;
 import com.azure.health.insights.radiologyinsights.models.RadiologyInsightsData;
 import com.azure.health.insights.radiologyinsights.models.RadiologyInsightsInferenceResult;
@@ -42,34 +42,17 @@ public final class RadiologyInsightsAsyncClient {
      * Create Radiology Insights job
      *
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     patients (Required): [
@@ -267,9 +250,9 @@ public final class RadiologyInsightsAsyncClient {
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java
index dd3362335bed..3a6d9243db1f 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java
@@ -42,34 +42,17 @@ public final class RadiologyInsightsClient {
      * Create Radiology Insights job
      *
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     patients (Required): [
@@ -267,9 +250,9 @@ public final class RadiologyInsightsClient {
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.java
index e74f9b73f638..0812dc975972 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.java
@@ -19,8 +19,8 @@
 import com.azure.core.http.policy.AddDatePolicy;
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -82,7 +82,7 @@ public RadiologyInsightsClientBuilder() {
     @Override
     public RadiologyInsightsClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -281,7 +281,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -289,12 +290,15 @@ private HttpPipeline createHttpPipeline() {
         if (keyCredential != null) {
             policies.add(new KeyCredentialPolicy("Ocp-Apim-Subscription-Key", keyCredential));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java
index f233aad65862..aa248c820a81 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java
@@ -31,9 +31,9 @@
 import com.azure.core.util.Context;
 import com.azure.core.util.DateTimeRfc1123;
 import com.azure.core.util.FluxUtil;
-import com.azure.core.util.polling.PollOperationDetails;
 import com.azure.core.util.polling.PollerFlux;
 import com.azure.core.util.polling.PollingStrategyOptions;
+import com.azure.core.util.polling.PollOperationDetails;
 import com.azure.core.util.polling.SyncPoller;
 import com.azure.core.util.serializer.JacksonAdapter;
 import com.azure.core.util.serializer.SerializerAdapter;
@@ -190,34 +190,17 @@ Response inferRadiologyInsightsSync(@HostParam("endpoint") String en
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     patients (Required): [
@@ -415,9 +398,9 @@ Response inferRadiologyInsightsSync(@HostParam("endpoint") String en
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -451,14 +434,14 @@ private Mono> inferRadiologyInsightsWithResponseAsync(Binar
         String repeatabilityFirstSent = DateTimeRfc1123.toRfc1123String(OffsetDateTime.now());
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-request-id"),
-                    repeatabilityRequestId);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-request-id"), repeatabilityRequestId);
             }
         });
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-first-sent"),
-                    repeatabilityFirstSent);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-first-sent"), repeatabilityFirstSent);
             }
         });
         return FluxUtil.withContext(context -> service.inferRadiologyInsights(this.getEndpoint(),
@@ -469,34 +452,17 @@ private Mono> inferRadiologyInsightsWithResponseAsync(Binar
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     patients (Required): [
@@ -694,9 +660,9 @@ private Mono> inferRadiologyInsightsWithResponseAsync(Binar
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -729,14 +695,14 @@ private Response inferRadiologyInsightsWithResponse(BinaryData radio
         String repeatabilityFirstSent = DateTimeRfc1123.toRfc1123String(OffsetDateTime.now());
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-request-id"),
-                    repeatabilityRequestId);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-request-id"), repeatabilityRequestId);
             }
         });
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-first-sent"),
-                    repeatabilityFirstSent);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-first-sent"), repeatabilityFirstSent);
             }
         });
         return service.inferRadiologyInsightsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept,
@@ -747,34 +713,17 @@ private Response inferRadiologyInsightsWithResponse(BinaryData radio
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     patients (Required): [
@@ -972,9 +921,9 @@ private Response inferRadiologyInsightsWithResponse(BinaryData radio
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -1007,7 +956,8 @@ public PollerFlux beginInferRadiologyInsightsAsync(Binar
                 new PollingStrategyOptions(this.getHttpPipeline())
                     .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint()))
                     .setContext(requestOptions != null && requestOptions.getContext() != null
-                        ? requestOptions.getContext() : Context.NONE)
+                        ? requestOptions.getContext()
+                        : Context.NONE)
                     .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
     }
@@ -1016,34 +966,17 @@ public PollerFlux beginInferRadiologyInsightsAsync(Binar
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     patients (Required): [
@@ -1241,9 +1174,9 @@ public PollerFlux beginInferRadiologyInsightsAsync(Binar
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -1276,7 +1209,8 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
                 new PollingStrategyOptions(this.getHttpPipeline())
                     .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint()))
                     .setContext(requestOptions != null && requestOptions.getContext() != null
-                        ? requestOptions.getContext() : Context.NONE)
+                        ? requestOptions.getContext()
+                        : Context.NONE)
                     .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
     }
@@ -1285,34 +1219,17 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     patients (Required): [
@@ -1510,9 +1427,9 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -1545,7 +1462,8 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
                 new PollingStrategyOptions(this.getHttpPipeline())
                     .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint()))
                     .setContext(requestOptions != null && requestOptions.getContext() != null
-                        ? requestOptions.getContext() : Context.NONE)
+                        ? requestOptions.getContext()
+                        : Context.NONE)
                     .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(PollOperationDetails.class),
             TypeReference.createInstance(RadiologyInsightsInferenceResult.class));
@@ -1555,34 +1473,17 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     patients (Required): [
@@ -1780,9 +1681,9 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     id: String (Required)
@@ -1815,7 +1716,8 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
                 new PollingStrategyOptions(this.getHttpPipeline())
                     .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint()))
                     .setContext(requestOptions != null && requestOptions.getContext() != null
-                        ? requestOptions.getContext() : Context.NONE)
+                        ? requestOptions.getContext()
+                        : Context.NONE)
                     .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(PollOperationDetails.class),
             TypeReference.createInstance(RadiologyInsightsInferenceResult.class));
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java
index 6f26c17f0aec..f6918a413ee7 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java
@@ -5,6 +5,8 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -12,7 +14,7 @@
  * A notification for age mismatch is displayed when the age mentioned in a document for a specific patient does not
  * match the age specified in the patient information.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = AgeMismatchInference.class, visible = true)
 @JsonTypeName("ageMismatch")
 @Immutable
 public final class AgeMismatchInference extends FhirR4Extendible1 {
@@ -23,4 +25,23 @@ public final class AgeMismatchInference extends FhirR4Extendible1 {
     @Generated
     private AgeMismatchInference() {
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind = RadiologyInsightsInferenceType.AGE_MISMATCH;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java
index b6fb89e1fe43..758fb9ebe23c 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -15,7 +16,11 @@
  * A complete order discrepancy is shown when one or more body parts and/or measurements that should be in the document
  * (because there is a complete order) are not present.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = CompleteOrderDiscrepancyInference.class,
+    visible = true)
 @JsonTypeName("completeOrderDiscrepancy")
 @Immutable
 public final class CompleteOrderDiscrepancyInference extends FhirR4Extendible1 {
@@ -25,7 +30,7 @@ public final class CompleteOrderDiscrepancyInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "orderType")
-    private FhirR4CodeableConcept orderType;
+    private final FhirR4CodeableConcept orderType;
 
     /*
      * List of missing body parts required by a complete order : SNOMED CT codes.
@@ -83,4 +88,23 @@ public List getMissingBodyParts() {
     public List getMissingBodyPartMeasurements() {
         return this.missingBodyPartMeasurements;
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind = RadiologyInsightsInferenceType.COMPLETE_ORDER_DISCREPANCY;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.java
index 9e31a598b3ef..2e9db2e779b9 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.java
@@ -19,7 +19,7 @@ public final class CriticalResult {
      */
     @Generated
     @JsonProperty(value = "description")
-    private String description;
+    private final String description;
 
     /*
      * Finding linked to the critical result.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java
index d8145b465d99..fd59b85b5e75 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -14,7 +15,11 @@
  * Critical results refer to findings of utmost importance that may require timely attention due to their potential
  * impact on patient care.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = CriticalResultInference.class,
+    visible = true)
 @JsonTypeName("criticalResult")
 @Immutable
 public final class CriticalResultInference extends FhirR4Extendible1 {
@@ -24,7 +29,7 @@ public final class CriticalResultInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "result")
-    private CriticalResult result;
+    private final CriticalResult result;
 
     /**
      * Creates an instance of CriticalResultInference class.
@@ -46,4 +51,23 @@ private CriticalResultInference(@JsonProperty(value = "result") CriticalResult r
     public CriticalResult getResult() {
         return this.result;
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind = RadiologyInsightsInferenceType.CRITICAL_RESULT;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContent.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContent.java
index 2b03fa19a3d5..813daf743861 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContent.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContent.java
@@ -21,14 +21,14 @@ public final class DocumentContent {
      */
     @Generated
     @JsonProperty(value = "sourceType")
-    private DocumentContentSourceType sourceType;
+    private final DocumentContentSourceType sourceType;
 
     /*
      * The content of the document, given either inline (as a string) or as a reference (URI).
      */
     @Generated
     @JsonProperty(value = "value")
-    private String value;
+    private final String value;
 
     /**
      * Creates an instance of DocumentContent class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Encounter.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Encounter.java
index 244298852194..0f4b5c16822c 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Encounter.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Encounter.java
@@ -19,12 +19,11 @@ public final class Encounter {
      */
     @Generated
     @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * Time period of the visit.
-     * In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the
-     * discharge time.
+     * In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the discharge time.
      */
     @Generated
     @JsonProperty(value = "period")
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Annotation.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Annotation.java
index 8ca56df0b95e..698d81433f94 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Annotation.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Annotation.java
@@ -35,7 +35,7 @@ public final class FhirR4Annotation extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /**
      * Creates an instance of FhirR4Annotation class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Condition.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Condition.java
index 69c77ac486e0..930987d081a4 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Condition.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Condition.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -15,7 +16,11 @@
  * Detailed information about conditions, problems or diagnoses
  * Based on [FHIR Condition](https://www.hl7.org/fhir/R4/condition.html).
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "resourceType")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "resourceType",
+    defaultImpl = FhirR4Condition.class,
+    visible = true)
 @JsonTypeName("Condition")
 @Fluent
 public final class FhirR4Condition extends FhirR4DomainResource {
@@ -77,35 +82,35 @@ public final class FhirR4Condition extends FhirR4DomainResource {
     private FhirR4Reference encounter;
 
     /*
-     * Estimated or actual date, date-time, or age
+     * Estimated or actual date,  date-time, or age
      */
     @Generated
     @JsonProperty(value = "onsetDateTime")
     private String onsetDateTime;
 
     /*
-     * Estimated or actual date, date-time, or age
+     * Estimated or actual date,  date-time, or age
      */
     @Generated
     @JsonProperty(value = "onsetAge")
     private FhirR4Quantity onsetAge;
 
     /*
-     * Estimated or actual date, date-time, or age
+     * Estimated or actual date,  date-time, or age
      */
     @Generated
     @JsonProperty(value = "onsetPeriod")
     private FhirR4Period onsetPeriod;
 
     /*
-     * Estimated or actual date, date-time, or age
+     * Estimated or actual date,  date-time, or age
      */
     @Generated
     @JsonProperty(value = "onsetRange")
     private FhirR4Range onsetRange;
 
     /*
-     * Estimated or actual date, date-time, or age
+     * Estimated or actual date,  date-time, or age
      */
     @Generated
     @JsonProperty(value = "onsetString")
@@ -721,4 +726,23 @@ public FhirR4Condition setLanguage(String language) {
         super.setLanguage(language);
         return this;
     }
+
+    /*
+     * resourceType
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "resourceType")
+    private String resourceType = "Condition";
+
+    /**
+     * Get the resourceType property: resourceType.
+     *
+     * @return the resourceType value.
+     */
+    @Generated
+    @Override
+    public String getResourceType() {
+        return this.resourceType;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ContactPoint.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ContactPoint.java
index 3a201be4a97a..7300f9506f33 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ContactPoint.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ContactPoint.java
@@ -8,8 +8,8 @@
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 /**
- * Details for all kinds of technology mediated contact points for a person or organization, including telephone,
- * email, etc.
+ * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email,
+ * etc.
  * See https://www.hl7.org/fhir/R4/datatypes.html#ContactPoint.
  */
 @Fluent
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4DomainResource.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4DomainResource.java
index 59b387537ddd..0e927ae277b6 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4DomainResource.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4DomainResource.java
@@ -8,6 +8,7 @@
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -18,9 +19,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "resourceType",
-    defaultImpl = FhirR4DomainResource.class)
+    defaultImpl = FhirR4DomainResource.class,
+    visible = true)
 @JsonTypeName("Fhir_R4_DomainResource")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "Observation", value = FhirR4Observation.class),
@@ -195,4 +196,23 @@ public FhirR4DomainResource setLanguage(String language) {
         super.setLanguage(language);
         return this;
     }
+
+    /*
+     * resourceType
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "resourceType")
+    private String resourceType;
+
+    /**
+     * Get the resourceType property: resourceType.
+     *
+     * @return the resourceType value.
+     */
+    @Generated
+    @Override
+    public String getResourceType() {
+        return this.resourceType;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible1.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible1.java
index 0fe98799cc40..4a20873d661a 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible1.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible1.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -24,11 +25,7 @@
  * - RadiologyProcedure
  * - FollowupCommunication.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "kind",
-    defaultImpl = FhirR4Extendible1.class)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = FhirR4Extendible1.class, visible = true)
 @JsonTypeName("Fhir_R4_Extendible1")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "ageMismatch", value = AgeMismatchInference.class),
@@ -56,6 +53,7 @@ public class FhirR4Extendible1 {
      */
     @Generated
     protected FhirR4Extendible1() {
+        this.kind = RadiologyInsightsInferenceType.fromString("Fhir_R4_Extendible1");
     }
 
     /**
@@ -67,4 +65,22 @@ protected FhirR4Extendible1() {
     public List getExtension() {
         return this.extension;
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible2.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible2.java
index fcade011a4a5..ba27c7f615c8 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible2.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible2.java
@@ -41,7 +41,7 @@ public final class FhirR4Extendible2 {
      */
     @Generated
     @JsonProperty(value = "recommendationFindingStatus")
-    private RecommendationFindingStatusType recommendationFindingStatus;
+    private final RecommendationFindingStatusType recommendationFindingStatus;
 
     /**
      * Creates an instance of FhirR4Extendible2 class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extension.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extension.java
index 16824d489ddc..762e5c12cf55 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extension.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extension.java
@@ -21,7 +21,7 @@ public final class FhirR4Extension extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "url")
-    private String url;
+    private final String url;
 
     /*
      * Value as Quantity
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Meta.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Meta.java
index 05e0dd6c1344..d03a92312cf5 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Meta.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Meta.java
@@ -16,8 +16,7 @@
 public final class FhirR4Meta {
 
     /*
-     * The version specific identifier, as it appears in the version portion of the URL. This value changes when the
-     * resource is created, updated, or deleted.
+     * The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.
      */
     @Generated
     @JsonProperty(value = "versionId")
@@ -31,34 +30,28 @@ public final class FhirR4Meta {
     private String lastUpdated;
 
     /*
-     * A uri that identifies the source system of the resource. This provides a minimal amount of Provenance
-     * information that can be used to track or differentiate the source of information in the resource. The source may
-     * identify another FHIR server, document, message, database, etc.
+     * A uri that identifies the source system of the resource. This provides a minimal amount of Provenance information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.
      */
     @Generated
     @JsonProperty(value = "source")
     private String source;
 
     /*
-     * A list of profiles (references to [StructureDefinition](https://www.hl7.org/fhir/structuredefinition.html)
-     * resources) that this resource claims to conform to. The URL is a reference to
-     * [StructureDefinition.url](https://www.hl7.org/fhir/structuredefinition-definitions.html#StructureDefinition.url).
+     * A list of profiles (references to [StructureDefinition](https://www.hl7.org/fhir/structuredefinition.html) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url](https://www.hl7.org/fhir/structuredefinition-definitions.html#StructureDefinition.url).
      */
     @Generated
     @JsonProperty(value = "profile")
     private List profile;
 
     /*
-     * Security labels applied to this resource. These tags connect specific resources to the overall security policy
-     * and infrastructure.
+     * Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
      */
     @Generated
     @JsonProperty(value = "security")
     private List security;
 
     /*
-     * Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and
-     * workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
+     * Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
      */
     @Generated
     @JsonProperty(value = "tag")
@@ -172,8 +165,8 @@ public FhirR4Meta setProfile(List profile) {
     }
 
     /**
-     * Get the security property: Security labels applied to this resource. These tags connect specific resources to
-     * the overall security policy and infrastructure.
+     * Get the security property: Security labels applied to this resource. These tags connect specific resources to the
+     * overall security policy and infrastructure.
      *
      * @return the security value.
      */
@@ -183,8 +176,8 @@ public List getSecurity() {
     }
 
     /**
-     * Set the security property: Security labels applied to this resource. These tags connect specific resources to
-     * the overall security policy and infrastructure.
+     * Set the security property: Security labels applied to this resource. These tags connect specific resources to the
+     * overall security policy and infrastructure.
      *
      * @param security the security value to set.
      * @return the FhirR4Meta object itself.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Narrative.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Narrative.java
index 420ac73d514a..d353e76c2800 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Narrative.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Narrative.java
@@ -23,14 +23,14 @@ public final class FhirR4Narrative extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "status")
-    private String status;
+    private final String status;
 
     /*
      * xhtml
      */
     @Generated
     @JsonProperty(value = "div")
-    private String div;
+    private final String div;
 
     /**
      * Creates an instance of FhirR4Narrative class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Observation.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Observation.java
index a90efbaa81b3..d8315e3e26be 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Observation.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Observation.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -15,7 +16,11 @@
  * Detailed information about observations
  * Based on [FHIR Observation](https://www.hl7.org/fhir/R4/observation.html).
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "resourceType")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "resourceType",
+    defaultImpl = FhirR4Observation.class,
+    visible = true)
 @JsonTypeName("Observation")
 @Fluent
 public final class FhirR4Observation extends FhirR4DomainResource {
@@ -32,10 +37,10 @@ public final class FhirR4Observation extends FhirR4DomainResource {
      */
     @Generated
     @JsonProperty(value = "status")
-    private ObservationStatusCodeType status;
+    private final ObservationStatusCodeType status;
 
     /*
-     * Classification of type of observation
+     * Classification of  type of observation
      */
     @Generated
     @JsonProperty(value = "category")
@@ -46,7 +51,7 @@ public final class FhirR4Observation extends FhirR4DomainResource {
      */
     @Generated
     @JsonProperty(value = "code")
-    private FhirR4CodeableConcept code;
+    private final FhirR4CodeableConcept code;
 
     /*
      * Who and/or what the observation is about
@@ -962,4 +967,23 @@ public FhirR4Observation setLanguage(String language) {
         super.setLanguage(language);
         return this;
     }
+
+    /*
+     * resourceType
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "resourceType")
+    private String resourceType = "Observation";
+
+    /**
+     * Get the resourceType property: resourceType.
+     *
+     * @return the resourceType value.
+     */
+    @Generated
+    @Override
+    public String getResourceType() {
+        return this.resourceType;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ObservationComponent.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ObservationComponent.java
index 51ca92c8b0cd..2b8a1c7e751f 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ObservationComponent.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ObservationComponent.java
@@ -21,7 +21,7 @@ public final class FhirR4ObservationComponent extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "code")
-    private FhirR4CodeableConcept code;
+    private final FhirR4CodeableConcept code;
 
     /*
      * Value as Quantity
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ResearchStudy.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ResearchStudy.java
index b904ab737e32..15c45c588561 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ResearchStudy.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ResearchStudy.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -15,7 +16,11 @@
  * Detailed information about Research Study
  * Based on [FHIR ResearchStudy](https://www.hl7.org/fhir/R4/researchstudy.html).
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "resourceType")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "resourceType",
+    defaultImpl = FhirR4ResearchStudy.class,
+    visible = true)
 @JsonTypeName("ResearchStudy")
 @Fluent
 public final class FhirR4ResearchStudy extends FhirR4DomainResource {
@@ -49,17 +54,14 @@ public final class FhirR4ResearchStudy extends FhirR4DomainResource {
     private List partOf;
 
     /*
-     * active | administratively-completed | approved | closed-to-accrual | closed-to-accrual-and-intervention |
-     * completed | disapproved | in-review | temporarily-closed-to-accrual |
-     * temporarily-closed-to-accrual-and-intervention | withdrawn
+     * active | administratively-completed | approved | closed-to-accrual | closed-to-accrual-and-intervention | completed | disapproved | in-review | temporarily-closed-to-accrual | temporarily-closed-to-accrual-and-intervention | withdrawn
      */
     @Generated
     @JsonProperty(value = "status")
-    private ResearchStudyStatusCodeType status;
+    private final ResearchStudyStatusCodeType status;
 
     /*
-     * treatment | prevention | diagnostic | supportive-care | screening | health-services-research | basic-science |
-     * device-feasibility
+     * treatment | prevention | diagnostic | supportive-care | screening | health-services-research | basic-science | device-feasibility
      */
     @Generated
     @JsonProperty(value = "primaryPurposeType")
@@ -157,8 +159,7 @@ public final class FhirR4ResearchStudy extends FhirR4DomainResource {
     private List site;
 
     /*
-     * accrual-goal-met | closed-due-to-toxicity | closed-due-to-lack-of-study-progress |
-     * temporarily-closed-per-study-design
+     * accrual-goal-met | closed-due-to-toxicity | closed-due-to-lack-of-study-progress | temporarily-closed-per-study-design
      */
     @Generated
     @JsonProperty(value = "reasonStopped")
@@ -780,4 +781,23 @@ public FhirR4ResearchStudy setLanguage(String language) {
         super.setLanguage(language);
         return this;
     }
+
+    /*
+     * resourceType
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "resourceType")
+    private String resourceType = "ResearchStudy";
+
+    /**
+     * Get the resourceType property: resourceType.
+     *
+     * @return the resourceType value.
+     */
+    @Generated
+    @Override
+    public String getResourceType() {
+        return this.resourceType;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Resource.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Resource.java
index 96d379d29eb0..9f7e35d85da2 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Resource.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Resource.java
@@ -26,7 +26,7 @@ public class FhirR4Resource {
      */
     @Generated
     @JsonProperty(value = "resourceType")
-    private String resourceType;
+    private final String resourceType;
 
     /*
      * Resource Id
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4SampledData.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4SampledData.java
index bcb3b4a6382f..e471e06ead47 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4SampledData.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4SampledData.java
@@ -21,14 +21,14 @@ public final class FhirR4SampledData extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "origin")
-    private FhirR4Quantity origin;
+    private final FhirR4Quantity origin;
 
     /*
      * Number of milliseconds between samples
      */
     @Generated
     @JsonProperty(value = "period")
-    private double period;
+    private final double period;
 
     /*
      * Multiply data by this before adding to origin
@@ -56,7 +56,7 @@ public final class FhirR4SampledData extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "dimensions")
-    private int dimensions;
+    private final int dimensions;
 
     /*
      * Decimal values with spaces, or "E" | "U" | "L"
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java
index 36f422ecdac5..d85b8fec39d7 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -14,7 +15,7 @@
  * Findings in a radiology report typically describe abnormalities, lesions, or other notable observations related to
  * the anatomy or pathology of the imaged area.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = FindingInference.class, visible = true)
 @JsonTypeName("finding")
 @Immutable
 public final class FindingInference extends FhirR4Extendible1 {
@@ -24,7 +25,7 @@ public final class FindingInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "finding")
-    private FhirR4Observation finding;
+    private final FhirR4Observation finding;
 
     /**
      * Creates an instance of FindingInference class.
@@ -46,4 +47,23 @@ private FindingInference(@JsonProperty(value = "finding") FhirR4Observation find
     public FhirR4Observation getFinding() {
         return this.finding;
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind = RadiologyInsightsInferenceType.FINDING;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java
index 110ecf6c316f..2e01bfe7e95e 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java
@@ -14,9 +14,7 @@
 public final class FindingOptions {
 
     /*
-     * If this is true, provide the sentence that contains the first token of the finding's clinical indicator (i.e.
-     * the medical problem), if there is one. This sentence is provided as an extension with url 'ci_sentence', next to
-     * the token evidence. Default is false.
+     * If this is true, provide the sentence that contains the first token of the finding's clinical indicator (i.e. the medical problem), if there is one. This sentence is provided as an extension with url 'ci_sentence', next to the token evidence. Default is false.
      */
     @Generated
     @JsonProperty(value = "provideFocusedSentenceEvidence")
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java
index b3a59b4ad8e4..179a1964331f 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.time.OffsetDateTime;
@@ -16,7 +17,11 @@
  * Follow-up communication involves the exchange of important information, recommendations, or updates between
  * radiologists and other healthcare professionals involved in a patient's care.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = FollowupCommunicationInference.class,
+    visible = true)
 @JsonTypeName("followupCommunication")
 @Immutable
 public final class FollowupCommunicationInference extends FhirR4Extendible1 {
@@ -40,7 +45,7 @@ public final class FollowupCommunicationInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "wasAcknowledged")
-    private boolean wasAcknowledged;
+    private final boolean wasAcknowledged;
 
     /**
      * Creates an instance of FollowupCommunicationInference class.
@@ -82,4 +87,23 @@ public List getRecipient() {
     public boolean isWasAcknowledged() {
         return this.wasAcknowledged;
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind = RadiologyInsightsInferenceType.FOLLOWUP_COMMUNICATION;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java
index e74e2e46fabd..a9d8adf6b333 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -15,7 +16,11 @@
  * Follow-up recommendations offer guidance to healthcare providers on managing and monitoring patients based on the
  * findings of imaging studies.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = FollowupRecommendationInference.class,
+    visible = true)
 @JsonTypeName("followupRecommendation")
 @Immutable
 public final class FollowupRecommendationInference extends FhirR4Extendible1 {
@@ -42,43 +47,39 @@ public final class FollowupRecommendationInference extends FhirR4Extendible1 {
     private List findings;
 
     /*
-     * The conditional value indicates whether or not the sentence containing the recommendation includes a conditional
-     * statement. Keywords for conditional statements include 'if', 'when', 'unless', and so on.
+     * The conditional value indicates whether or not the sentence containing the recommendation includes a conditional statement. Keywords for conditional statements include 'if', 'when', 'unless', and so on.
      */
     @Generated
     @JsonProperty(value = "isConditional")
-    private boolean isConditional;
+    private final boolean isConditional;
 
     /*
-     * The option value indicates whether or not the sentence containing the recommendation includes an optional
-     * statement. Keywords for optional statements include 'recommend', 'consider', and so on.
+     * The option value indicates whether or not the sentence containing the recommendation includes an optional statement. Keywords for optional statements include 'recommend', 'consider', and so on.
      */
     @Generated
     @JsonProperty(value = "isOption")
-    private boolean isOption;
+    private final boolean isOption;
 
     /*
-     * The guideline value indicates whether or not the recommendation is part of a guideline section that compiles all
-     * recommendations applicable to various findings.
+     * The guideline value indicates whether or not the recommendation is part of a guideline section that compiles all recommendations applicable to various findings.
      */
     @Generated
     @JsonProperty(value = "isGuideline")
-    private boolean isGuideline;
+    private final boolean isGuideline;
 
     /*
-     * Hedging refers to ambiguous, vague or imprecise language within the sentence of the recommendation. Keywords for
-     * hedging are 'can be','may be',and so on.
+     * Hedging refers to ambiguous, vague or imprecise language within the sentence of the recommendation. Keywords for hedging are 'can be','may be',and so on.
      */
     @Generated
     @JsonProperty(value = "isHedging")
-    private boolean isHedging;
+    private final boolean isHedging;
 
     /*
      * The procedure recommendation can be a generic procedure or an imaging procedure.
      */
     @Generated
     @JsonProperty(value = "recommendedProcedure")
-    private ProcedureRecommendation recommendedProcedure;
+    private final ProcedureRecommendation recommendedProcedure;
 
     /**
      * Creates an instance of FollowupRecommendationInference class.
@@ -103,8 +104,8 @@ private FollowupRecommendationInference(@JsonProperty(value = "isConditional") b
     }
 
     /**
-     * Get the effectiveDateTime property: Date and time are displayed when the procedure is recommended to be done at
-     * a specific point in time.
+     * Get the effectiveDateTime property: Date and time are displayed when the procedure is recommended to be done at a
+     * specific point in time.
      *
      * @return the effectiveDateTime value.
      */
@@ -189,4 +190,23 @@ public boolean isHedging() {
     public ProcedureRecommendation getRecommendedProcedure() {
         return this.recommendedProcedure;
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind = RadiologyInsightsInferenceType.FOLLOWUP_RECOMMENDATION;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java
index 10f3f5d56d15..50bae84add9c 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java
@@ -28,9 +28,7 @@ public final class FollowupRecommendationOptions {
     private Boolean includeRecommendationsInReferences;
 
     /*
-     * If this is true, provide one or more sentences as evidence for the recommendation, next to the token evidence.
-     * The start and end positions of these sentences will be put in an extension with url 'modality_sentences'.
-     * Default is false.
+     * If this is true, provide one or more sentences as evidence for the recommendation, next to the token evidence. The start and end positions of these sentences will be put in an extension with url 'modality_sentences'. Default is false.
      */
     @Generated
     @JsonProperty(value = "provideFocusedSentenceEvidence")
@@ -44,8 +42,8 @@ public FollowupRecommendationOptions() {
     }
 
     /**
-     * Get the includeRecommendationsWithNoSpecifiedModality property: Include/Exclude follow-up recommendations
-     * without a specific radiology procedure. Default is false.
+     * Get the includeRecommendationsWithNoSpecifiedModality property: Include/Exclude follow-up recommendations without
+     * a specific radiology procedure. Default is false.
      *
      * @return the includeRecommendationsWithNoSpecifiedModality value.
      */
@@ -55,8 +53,8 @@ public Boolean isIncludeRecommendationsWithNoSpecifiedModality() {
     }
 
     /**
-     * Set the includeRecommendationsWithNoSpecifiedModality property: Include/Exclude follow-up recommendations
-     * without a specific radiology procedure. Default is false.
+     * Set the includeRecommendationsWithNoSpecifiedModality property: Include/Exclude follow-up recommendations without
+     * a specific radiology procedure. Default is false.
      *
      * @param includeRecommendationsWithNoSpecifiedModality the includeRecommendationsWithNoSpecifiedModality value to
      * set.
@@ -70,8 +68,8 @@ public Boolean isIncludeRecommendationsWithNoSpecifiedModality() {
     }
 
     /**
-     * Get the includeRecommendationsInReferences property: Include/Exclude follow-up recommendations in references to
-     * a guideline or article. Default is false.
+     * Get the includeRecommendationsInReferences property: Include/Exclude follow-up recommendations in references to a
+     * guideline or article. Default is false.
      *
      * @return the includeRecommendationsInReferences value.
      */
@@ -81,8 +79,8 @@ public Boolean isIncludeRecommendationsInReferences() {
     }
 
     /**
-     * Set the includeRecommendationsInReferences property: Include/Exclude follow-up recommendations in references to
-     * a guideline or article. Default is false.
+     * Set the includeRecommendationsInReferences property: Include/Exclude follow-up recommendations in references to a
+     * guideline or article. Default is false.
      *
      * @param includeRecommendationsInReferences the includeRecommendationsInReferences value to set.
      * @return the FollowupRecommendationOptions object itself.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.java
index 58893dcaaec6..0e3e65c9fbf6 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.java
@@ -7,13 +7,18 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * Generic procedure information.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = GenericProcedureRecommendation.class,
+    visible = true)
 @JsonTypeName("genericProcedureRecommendation")
 @Immutable
 public final class GenericProcedureRecommendation extends ProcedureRecommendation {
@@ -23,7 +28,7 @@ public final class GenericProcedureRecommendation extends ProcedureRecommendatio
      */
     @Generated
     @JsonProperty(value = "code")
-    private FhirR4CodeableConcept code;
+    private final FhirR4CodeableConcept code;
 
     /*
      * Procedure description : MANAGEMENT PROCEDURE (PROCEDURE) or CONSULTATION (PROCEDURE) based on SNOMED CT.
@@ -63,4 +68,23 @@ public FhirR4CodeableConcept getCode() {
     public String getDescription() {
         return this.description;
     }
+
+    /*
+     * Procedure type : generic.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private String kind = "genericProcedureRecommendation";
+
+    /**
+     * Get the kind property: Procedure type : generic.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public String getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java
index 6d404d2334f9..75c109495288 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java
@@ -19,14 +19,14 @@ public final class ImagingProcedure {
      */
     @Generated
     @JsonProperty(value = "modality")
-    private FhirR4CodeableConcept modality;
+    private final FhirR4CodeableConcept modality;
 
     /*
      * Anatomy : SNOMED CT code.
      */
     @Generated
     @JsonProperty(value = "anatomy")
-    private FhirR4CodeableConcept anatomy;
+    private final FhirR4CodeableConcept anatomy;
 
     /*
      * Laterality : SNOMED CT code.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java
index 9a6396efd0b7..eea322274278 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -14,7 +15,11 @@
 /**
  * Imaging procedures.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ImagingProcedureRecommendation.class,
+    visible = true)
 @JsonTypeName("imagingProcedureRecommendation")
 @Immutable
 public final class ImagingProcedureRecommendation extends ProcedureRecommendation {
@@ -31,7 +36,7 @@ public final class ImagingProcedureRecommendation extends ProcedureRecommendatio
      */
     @Generated
     @JsonProperty(value = "imagingProcedures")
-    private List imagingProcedures;
+    private final List imagingProcedures;
 
     /**
      * Creates an instance of ImagingProcedureRecommendation class.
@@ -64,4 +69,23 @@ public List getProcedureCodes() {
     public List getImagingProcedures() {
         return this.imagingProcedures;
     }
+
+    /*
+     * Procedure type : generic.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private String kind = "imagingProcedureRecommendation";
+
+    /**
+     * Get the kind property: Procedure type : generic.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public String getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java
index feb44634ca93..3a7d52499014 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java
@@ -7,15 +7,20 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
- * A laterality mismatch occurs when there is a discrepancy between the clinical documentation and the ordered
- * procedure (orderLateralityMismatch), a contradiction within the clinical document (textLateralityContradiction), or
- * when no laterality is mentioned (textLateralityMissing).
+ * A laterality mismatch occurs when there is a discrepancy between the clinical documentation and the ordered procedure
+ * (orderLateralityMismatch), a contradiction within the clinical document (textLateralityContradiction), or when no
+ * laterality is mentioned (textLateralityMissing).
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = LateralityDiscrepancyInference.class,
+    visible = true)
 @JsonTypeName("lateralityDiscrepancy")
 @Immutable
 public final class LateralityDiscrepancyInference extends FhirR4Extendible1 {
@@ -32,7 +37,7 @@ public final class LateralityDiscrepancyInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "discrepancyType")
-    private LateralityDiscrepancyType discrepancyType;
+    private final LateralityDiscrepancyType discrepancyType;
 
     /**
      * Creates an instance of LateralityDiscrepancyInference class.
@@ -66,4 +71,23 @@ public FhirR4CodeableConcept getLateralityIndication() {
     public LateralityDiscrepancyType getDiscrepancyType() {
         return this.discrepancyType;
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind = RadiologyInsightsInferenceType.LATERALITY_DISCREPANCY;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java
index 7c8d03e6adaa..43e83ae1b5ea 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java
@@ -7,15 +7,20 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
 
 /**
- * A limited order discrepancy occurs when there is a limited order, but all body parts and measurements that are
- * needed for a complete order are present in the document.
+ * A limited order discrepancy occurs when there is a limited order, but all body parts and measurements that are needed
+ * for a complete order are present in the document.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = LimitedOrderDiscrepancyInference.class,
+    visible = true)
 @JsonTypeName("limitedOrderDiscrepancy")
 @Immutable
 public final class LimitedOrderDiscrepancyInference extends FhirR4Extendible1 {
@@ -25,7 +30,7 @@ public final class LimitedOrderDiscrepancyInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "orderType")
-    private FhirR4CodeableConcept orderType;
+    private final FhirR4CodeableConcept orderType;
 
     /*
      * List of body parts found in the document : SNOMED CT codes.
@@ -83,4 +88,23 @@ public List getPresentBodyParts() {
     public List getPresentBodyPartMeasurements() {
         return this.presentBodyPartMeasurements;
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind = RadiologyInsightsInferenceType.LIMITED_ORDER_DISCREPANCY;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientDocument.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientDocument.java
index cb524cfe0b45..cd7a891dd1d8 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientDocument.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientDocument.java
@@ -21,7 +21,7 @@ public final class PatientDocument {
      */
     @Generated
     @JsonProperty(value = "type")
-    private DocumentType type;
+    private final DocumentType type;
 
     /*
      * The type of the clinical document.
@@ -35,7 +35,7 @@ public final class PatientDocument {
      */
     @Generated
     @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * A 2 letter ISO 639-1 representation of the language of the document.
@@ -77,7 +77,7 @@ public final class PatientDocument {
      */
     @Generated
     @JsonProperty(value = "content")
-    private DocumentContent content;
+    private final DocumentContent content;
 
     /**
      * Creates an instance of PatientDocument class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientRecord.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientRecord.java
index 4d4f030fa3dc..fa1de5d7e97e 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientRecord.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientRecord.java
@@ -20,7 +20,7 @@ public final class PatientRecord {
      */
     @Generated
     @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * Patient structured information, including demographics and known structured clinical information.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ProcedureRecommendation.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ProcedureRecommendation.java
index 9d484aa03f6b..cc8ea9b7a71b 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ProcedureRecommendation.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ProcedureRecommendation.java
@@ -5,7 +5,9 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -14,9 +16,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = ProcedureRecommendation.class)
+    defaultImpl = ProcedureRecommendation.class,
+    visible = true)
 @JsonTypeName("ProcedureRecommendation")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "genericProcedureRecommendation", value = GenericProcedureRecommendation.class),
@@ -29,5 +31,24 @@ public class ProcedureRecommendation {
      */
     @Generated
     protected ProcedureRecommendation() {
+        this.kind = "ProcedureRecommendation";
+    }
+
+    /*
+     * Procedure type : generic.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private String kind;
+
+    /**
+     * Get the kind property: Procedure type : generic.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public String getKind() {
+        return this.kind;
     }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyCodeWithTypes.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyCodeWithTypes.java
index ed0bf6e9977b..32fc016d1952 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyCodeWithTypes.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyCodeWithTypes.java
@@ -16,20 +16,18 @@
 public final class RadiologyCodeWithTypes {
 
     /*
-     * The SNOMED CT code indicates whether imaging was conducted with or without contrast in the case of contrast, and
-     * in the case of views, it denotes the number of views.
+     * The SNOMED CT code indicates whether imaging was conducted with or without contrast in the case of contrast, and in the case of views, it denotes the number of views.
      */
     @Generated
     @JsonProperty(value = "code")
-    private FhirR4CodeableConcept code;
+    private final FhirR4CodeableConcept code;
 
     /*
-     * The collection of types will indicate the contrast substance used in the case of contrast and, in the case of
-     * views, it will specify the types of views, such as lateral and frontal, etc.
+     * The collection of types will indicate the contrast substance used in the case of contrast and, in the case of views, it will specify the types of views, such as lateral and frontal, etc.
      */
     @Generated
     @JsonProperty(value = "types")
-    private List types;
+    private final List types;
 
     /**
      * Creates an instance of RadiologyCodeWithTypes class.
@@ -46,8 +44,8 @@ private RadiologyCodeWithTypes(@JsonProperty(value = "code") FhirR4CodeableConce
     }
 
     /**
-     * Get the code property: The SNOMED CT code indicates whether imaging was conducted with or without contrast in
-     * the case of contrast, and in the case of views, it denotes the number of views.
+     * Get the code property: The SNOMED CT code indicates whether imaging was conducted with or without contrast in the
+     * case of contrast, and in the case of views, it denotes the number of views.
      *
      * @return the code value.
      */
@@ -57,8 +55,8 @@ public FhirR4CodeableConcept getCode() {
     }
 
     /**
-     * Get the types property: The collection of types will indicate the contrast substance used in the case of
-     * contrast and, in the case of views, it will specify the types of views, such as lateral and frontal, etc.
+     * Get the types property: The collection of types will indicate the contrast substance used in the case of contrast
+     * and, in the case of views, it will specify the types of views, such as lateral and frontal, etc.
      *
      * @return the types value.
      */
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.java
index b2392a9a275d..686ea25d2e46 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.java
@@ -20,7 +20,7 @@ public final class RadiologyInsightsData {
      */
     @Generated
     @JsonProperty(value = "patients")
-    private List patients;
+    private final List patients;
 
     /*
      * Configuration affecting the Radiology Insights model's inference.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java
index 214a0bc01e2b..c5a70e1f5b0f 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java
@@ -21,14 +21,14 @@ public final class RadiologyInsightsInferenceResult {
      */
     @Generated
     @JsonProperty(value = "patientResults")
-    private List patientResults;
+    private final List patientResults;
 
     /*
      * The version of the model used for inference, expressed as the model date.
      */
     @Generated
     @JsonProperty(value = "modelVersion")
-    private String modelVersion;
+    private final String modelVersion;
 
     /**
      * Creates an instance of RadiologyInsightsInferenceResult class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java
index f5cb2c100127..3b9f8935e5b8 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java
@@ -29,9 +29,7 @@ public final class RadiologyInsightsModelConfiguration {
     private Boolean includeEvidence;
 
     /*
-     * This is a list of inference types to be inferred for the current request. It could be used if only part of the
-     * Radiology Insights inferences are required. If this list is omitted or empty, the model will return all the
-     * inference types.
+     * This is a list of inference types to be inferred for the current request. It could be used if only part of the Radiology Insights inferences are required. If this list is omitted or empty, the model will return all the inference types.
      */
     @Generated
     @JsonProperty(value = "inferenceTypes")
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.java
index 65e58a5f120e..05eb8a0dc73d 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.java
@@ -20,14 +20,14 @@ public final class RadiologyInsightsPatientResult {
      */
     @Generated
     @JsonProperty(value = "patientId")
-    private String patientId;
+    private final String patientId;
 
     /*
      * The model's inferences for the given patient.
      */
     @Generated
     @JsonProperty(value = "inferences")
-    private List inferences;
+    private final List inferences;
 
     /**
      * Creates an instance of RadiologyInsightsPatientResult class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java
index b67ff74c7de6..065bfa3cedd1 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
@@ -15,7 +16,11 @@
  * Radiology procedures are the specific imaging studies or examinations ordered for the patient, extracted from the
  * document information and text.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = RadiologyProcedureInference.class,
+    visible = true)
 @JsonTypeName("radiologyProcedure")
 @Immutable
 public final class RadiologyProcedureInference extends FhirR4Extendible1 {
@@ -32,14 +37,14 @@ public final class RadiologyProcedureInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "imagingProcedures")
-    private List imagingProcedures;
+    private final List imagingProcedures;
 
     /*
      * Ordered procedure information from the document information or text.
      */
     @Generated
     @JsonProperty(value = "orderedProcedure")
-    private FhirR4Extendible orderedProcedure;
+    private final FhirR4Extendible orderedProcedure;
 
     /**
      * Creates an instance of RadiologyProcedureInference class.
@@ -85,4 +90,23 @@ public List getImagingProcedures() {
     public FhirR4Extendible getOrderedProcedure() {
         return this.orderedProcedure;
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind = RadiologyInsightsInferenceType.RADIOLOGY_PROCEDURE;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.java
index 6cee2c296802..3174fa8e8d66 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.java
@@ -19,7 +19,7 @@ public final class ResearchStudyArm {
      */
     @Generated
     @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Categorization of study arm
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.java
index a03a2629dc73..bab5a11d1d1b 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.java
@@ -19,7 +19,7 @@ public final class ResearchStudyObjective {
      */
     @Generated
     @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * primary | secondary | exploratory
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SexMismatchInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SexMismatchInference.java
index 6f67ca77ac78..6f5511558b4f 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SexMismatchInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SexMismatchInference.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -15,7 +16,7 @@
  * gender-related procedures mentioned in a patient's clinical document are either inconsistent or do not match the
  * gender specified in the patient information.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = SexMismatchInference.class, visible = true)
 @JsonTypeName("sexMismatch")
 @Immutable
 public final class SexMismatchInference extends FhirR4Extendible1 {
@@ -25,7 +26,7 @@ public final class SexMismatchInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "sexIndication")
-    private FhirR4CodeableConcept sexIndication;
+    private final FhirR4CodeableConcept sexIndication;
 
     /**
      * Creates an instance of SexMismatchInference class.
@@ -47,4 +48,23 @@ private SexMismatchInference(@JsonProperty(value = "sexIndication") FhirR4Codeab
     public FhirR4CodeableConcept getSexIndication() {
         return this.sexIndication;
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind = RadiologyInsightsInferenceType.SEX_MISMATCH;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    @Override
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/tsp-location.yaml b/sdk/healthinsights/azure-health-insights-radiologyinsights/tsp-location.yaml
index a18f9cad805c..daf7bc797dfe 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/tsp-location.yaml
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/tsp-location.yaml
@@ -2,6 +2,6 @@ directory: specification/ai/HealthInsights/HealthInsights.RadiologyInsights
 additionalDirectories:
   - specification/ai/HealthInsights/HealthInsights.Common
   - specification/ai/HealthInsights/HealthInsights.OpenAPI
-commit: 3efb341e0472b4b1d85f9c015666a715d9f5fa5a
+commit: 9b1d6b68cb4ab26724d6e813b7649a40902d622d
 repo: Azure/azure-rest-api-specs
-cleanup: false
\ No newline at end of file
+cleanup: false
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DataMapClientBuilder.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DataMapClientBuilder.java
index 946d7c991754..472d6ffffb86 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DataMapClientBuilder.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DataMapClientBuilder.java
@@ -22,8 +22,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -98,7 +98,7 @@ public DataMapClientBuilder() {
     @Override
     public DataMapClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -297,7 +297,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -305,12 +306,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryAsyncClient.java
index 7185af3317cc..599984be2e70 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryAsyncClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryAsyncClient.java
@@ -45,9 +45,8 @@ public final class DiscoveryAsyncClient {
 
     /**
      * Get data using search.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -75,10 +74,11 @@ public final class DiscoveryAsyncClient {
      *     }
      * }
      * }
- *

- * Response Body Schema - *

- *
{@code
+     * 
+     * 

Response Body Schema

+ * + *
+     * {@code
      * {
      *     @search.count: Integer (Optional)
      *     @search.count.approximate: Boolean (Optional)
@@ -181,7 +181,8 @@ public final class DiscoveryAsyncClient {
      *         }
      *     ]
      * }
-     * }
+ * } + *
* * @param queryOptions The search query of advanced search request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -199,9 +200,8 @@ public Mono> queryWithResponse(BinaryData queryOptions, Req /** * Get search suggestions by query criteria. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -209,10 +209,11 @@ public Mono> queryWithResponse(BinaryData queryOptions, Req
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

- *
{@code
+     * 
+     * 

Response Body Schema

+ * + *
+     * {@code
      * {
      *     value (Optional): [
      *          (Optional){
@@ -261,7 +262,8 @@ public Mono> queryWithResponse(BinaryData queryOptions, Req
      *         }
      *     ]
      * }
-     * }
+ * } + *
* * @param suggestOptions The payload of suggest request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -280,9 +282,8 @@ public Mono> suggestWithResponse(BinaryData suggestOptions, /** * Get auto complete options. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -290,9 +291,9 @@ public Mono> suggestWithResponse(BinaryData suggestOptions,
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     value (Optional): [
@@ -379,6 +380,7 @@ public Mono autoComplete(AutoCompleteOptions autoCompleteOpt
         // Generated convenience method for autoCompleteWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return autoCompleteWithResponse(BinaryData.fromObject(autoCompleteOptions), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AutoCompleteResult.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AutoCompleteResult.class));
     }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryClient.java
index 03233c0eee29..5d32b2c5ea83 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryClient.java
@@ -43,9 +43,8 @@ public final class DiscoveryClient {
 
     /**
      * Get data using search.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -73,10 +72,11 @@ public final class DiscoveryClient {
      *     }
      * }
      * }
- *

- * Response Body Schema - *

- *
{@code
+     * 
+     * 

Response Body Schema

+ * + *
+     * {@code
      * {
      *     @search.count: Integer (Optional)
      *     @search.count.approximate: Boolean (Optional)
@@ -179,7 +179,8 @@ public final class DiscoveryClient {
      *         }
      *     ]
      * }
-     * }
+ * } + *
* * @param queryOptions The search query of advanced search request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -197,9 +198,8 @@ public Response queryWithResponse(BinaryData queryOptions, RequestOp /** * Get search suggestions by query criteria. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -207,10 +207,11 @@ public Response queryWithResponse(BinaryData queryOptions, RequestOp
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

- *
{@code
+     * 
+     * 

Response Body Schema

+ * + *
+     * {@code
      * {
      *     value (Optional): [
      *          (Optional){
@@ -259,7 +260,8 @@ public Response queryWithResponse(BinaryData queryOptions, RequestOp
      *         }
      *     ]
      * }
-     * }
+ * } + *
* * @param suggestOptions The payload of suggest request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -277,9 +279,8 @@ public Response suggestWithResponse(BinaryData suggestOptions, Reque /** * Get auto complete options. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -287,9 +288,9 @@ public Response suggestWithResponse(BinaryData suggestOptions, Reque
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     value (Optional): [
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityAsyncClient.java
index 89a7486d0a2c..5ad123976f0b 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityAsyncClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityAsyncClient.java
@@ -61,36 +61,20 @@ public final class EntityAsyncClient {
      * collections are not well supported. E.g., array<array<int>>, array<map<string,
      * int>>.
      * For each contact type, the maximum number of contacts is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for + * business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only + * specify a value if you + * need to move an entity to another collection.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -169,9 +153,9 @@ public final class EntityAsyncClient {
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -258,34 +242,18 @@ public Mono> createOrUpdateWithResponse(BinaryData atlasEnt
 
     /**
      * List entities in bulk identified by its GUIDs.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -391,36 +359,20 @@ public Mono> getByIdsWithResponse(List guid, Reques
      * array<map<string, int>>.
      * For each contact type, the maximum number of contacts
      * is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only + * specify a value if you + * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for + * business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -501,9 +453,9 @@ public Mono> getByIdsWithResponse(List guid, Reques
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -591,9 +543,8 @@ public Mono> batchCreateOrUpdateWithResponse(BinaryData atl
     /**
      * Delete a list of entities in bulk identified by their GUIDs or unique
      * attributes.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -678,9 +629,8 @@ public Mono> batchDeleteWithResponse(List guid, Req
 
     /**
      * Associate a classification to multiple entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classification (Optional): {
@@ -723,34 +673,18 @@ public Mono> addClassificationWithResponse(BinaryData classificat
 
     /**
      * Get complete definition of an entity given its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -851,15 +785,14 @@ public Mono> getWithResponse(String guid, RequestOptions re
      * Supports only primitive attribute type and entity references.
      * It does not support updating complex types like arrays, and maps.
      * Null updates are not possible.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * Object
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -947,9 +880,8 @@ public Mono> updateAttributeByIdWithResponse(String guid, S
 
     /**
      * Delete an entity identified by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1034,9 +966,8 @@ public Mono> deleteWithResponse(String guid, RequestOptions
 
     /**
      * Get classification for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -1095,9 +1026,8 @@ public Mono> removeClassificationWithResponse(String guid, String
 
     /**
      * List classifications for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     list (Optional): [
@@ -1127,9 +1057,8 @@ public Mono> getClassificationsWithResponse(String guid, Re
 
     /**
      * Add classifications to an existing entity represented by a GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1170,9 +1099,8 @@ public Mono> addClassificationsWithResponse(String guid, BinaryDa
 
     /**
      * Update classifications to an existing entity represented by a guid.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1226,41 +1154,21 @@ public Mono> updateClassificationsWithResponse(String guid, Binar
      * The REST request would look something like this:
      * GET
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -1385,29 +1293,17 @@ public Mono> getByUniqueAttributeWithResponse(String typeNa
      * request would look something like this:
      * PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -1486,9 +1382,9 @@ public Mono> getByUniqueAttributeWithResponse(String typeNa
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1588,29 +1484,17 @@ public Mono> updateByUniqueAttributeWithResponse(String typ
      * request would look something like this:
      * DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1697,24 +1581,13 @@ public Mono> deleteByUniqueAttributeWithResponse(String typ
     /**
      * Delete a given classification from an entity identified by its type and unique
      * attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} * @@ -1737,29 +1610,17 @@ public Mono> removeClassificationByUniqueAttributeWithResponse(St /** * Add classification to the entity identified by its type and unique attributes. - *

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1800,29 +1661,17 @@ public Mono> addClassificationsByUniqueAttributeWithResponse(Stri
 
     /**
      * Update classification on an entity identified by its type and unique attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1864,9 +1713,8 @@ public Mono> updateClassificationsUniqueByAttributeWithResponse(S
 
     /**
      * Set classifications on entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guidHeaderMap (Optional): {
@@ -1925,9 +1773,9 @@ public Mono> updateClassificationsUniqueByAttributeWithResponse(S
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *     String (Required)
@@ -1968,42 +1816,22 @@ public Mono> batchSetClassificationsWithResponse(BinaryData
      * 
      * Note:
      * at least one unique attribute must be provided.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * + * example. qualifiedName can be changed to other unique attributes) *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set + *
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 + * entities you can set * attrs_1:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1. (This is only an - * example. qualifiedName can be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -2103,9 +1931,8 @@ public Mono> batchGetByUniqueAttributesWithResponse(String
 
     /**
      * Get entity header given its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -2177,9 +2004,8 @@ public Mono> getHeaderWithResponse(String guid, RequestOpti
 
     /**
      * Remove business metadata from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String (Required): {
@@ -2206,29 +2032,17 @@ public Mono> removeBusinessMetadataWithResponse(String guid, Bina
 
     /**
      * Add business metadata to an entity.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, - * default is false.
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the + * entity or not, + * default is false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String (Required): {
@@ -2255,9 +2069,8 @@ public Mono> addOrUpdateBusinessMetadataWithResponse(String guid,
 
     /**
      * Delete business metadata attributes from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: Object (Required)
@@ -2284,9 +2097,8 @@ public Mono> removeBusinessMetadataAttributesWithResponse(String
 
     /**
      * Add or update business metadata attributes.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: Object (Required)
@@ -2313,9 +2125,8 @@ public Mono> addOrUpdateBusinessMetadataAttributesWithResponse(St
 
     /**
      * Get the sample Template for uploading/creating bulk BusinessMetaData.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * BinaryData
      * }
@@ -2336,9 +2147,8 @@ public Mono> getBusinessMetadataTemplateWithResponse(Reques /** * Upload the file for creating Business Metadata in BULK. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     failedImportInfoList (Optional): [
@@ -2367,16 +2177,14 @@ public Mono> getBusinessMetadataTemplateWithResponse(Reques
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> importBusinessMetadataWithResponse(BinaryData businessMetadataOptions,
         RequestOptions requestOptions) {
-        // Protocol API requires serialization of parts with content-disposition and data, as operation
-        // 'importBusinessMetadata' is 'multipart/form-data'
+        // Protocol API requires serialization of parts with content-disposition and data, as operation 'importBusinessMetadata' is 'multipart/form-data'
         return this.serviceClient.importBusinessMetadataWithResponseAsync(businessMetadataOptions, requestOptions);
     }
 
     /**
      * Delete given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2399,9 +2207,8 @@ public Mono> removeLabelsWithResponse(String guid, RequestOptions
 
     /**
      * Set labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2424,9 +2231,8 @@ public Mono> setLabelsWithResponse(String guid, RequestOptions re
 
     /**
      * Add given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2461,29 +2267,17 @@ public Mono> addLabelWithResponse(String guid, RequestOptions req
      * across entities, eg. qualifiedName. The REST request would look something like
      * this: DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2521,29 +2315,17 @@ public Mono> removeLabelsByUniqueAttributeWithResponse(String typ
      * The REST
      * request would look something like this: POST
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2580,29 +2362,17 @@ public Mono> setLabelsByUniqueAttributeWithResponse(String typeNa
      * The REST
      * request would look something like this: PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2625,9 +2395,8 @@ public Mono> addLabelsByUniqueAttributeWithResponse(String typeNa
 
     /**
      * Move existing entities to the target collection.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     entityGuids (Optional): [
@@ -2635,9 +2404,9 @@ public Mono> addLabelsByUniqueAttributeWithResponse(String typeNa
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -3876,7 +3645,8 @@ public Mono importBusinessMetadata(BusinessMetadataOptions bus
         return importBusinessMetadataWithResponse(new MultipartFormDataHelper(requestOptions)
             .serializeFileField("file", businessMetadataOptions.getFile().getContent(),
                 businessMetadataOptions.getFile().getContentType(), businessMetadataOptions.getFile().getFilename())
-            .end().getRequestBody(), requestOptions).flatMap(FluxUtil::toMono)
+            .end()
+            .getRequestBody(), requestOptions).flatMap(FluxUtil::toMono)
             .map(protocolMethodData -> protocolMethodData.toObject(BulkImportResult.class));
     }
 
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityClient.java
index 5f5cc1d4e047..062642c9e703 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityClient.java
@@ -59,36 +59,20 @@ public final class EntityClient {
      * collections are not well supported. E.g., array<array<int>>, array<map<string,
      * int>>.
      * For each contact type, the maximum number of contacts is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for + * business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only + * specify a value if you + * need to move an entity to another collection.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -167,9 +151,9 @@ public final class EntityClient {
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -255,34 +239,18 @@ public Response createOrUpdateWithResponse(BinaryData atlasEntityWit
 
     /**
      * List entities in bulk identified by its GUIDs.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -388,36 +356,20 @@ public Response getByIdsWithResponse(List guid, RequestOptio
      * array<map<string, int>>.
      * For each contact type, the maximum number of contacts
      * is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only + * specify a value if you + * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for + * business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -498,9 +450,9 @@ public Response getByIdsWithResponse(List guid, RequestOptio
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -587,9 +539,8 @@ public Response batchCreateOrUpdateWithResponse(BinaryData atlasEnti
     /**
      * Delete a list of entities in bulk identified by their GUIDs or unique
      * attributes.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -673,9 +624,8 @@ public Response batchDeleteWithResponse(List guid, RequestOp
 
     /**
      * Associate a classification to multiple entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classification (Optional): {
@@ -718,34 +668,18 @@ public Response addClassificationWithResponse(BinaryData classificationAss
 
     /**
      * Get complete definition of an entity given its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -845,15 +779,14 @@ public Response getWithResponse(String guid, RequestOptions requestO
      * Supports only primitive attribute type and entity references.
      * It does not support updating complex types like arrays, and maps.
      * Null updates are not possible.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * Object
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -940,9 +873,8 @@ public Response updateAttributeByIdWithResponse(String guid, String
 
     /**
      * Delete an entity identified by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1026,9 +958,8 @@ public Response deleteWithResponse(String guid, RequestOptions reque
 
     /**
      * Get classification for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -1086,9 +1017,8 @@ public Response removeClassificationWithResponse(String guid, String class
 
     /**
      * List classifications for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     list (Optional): [
@@ -1118,9 +1048,8 @@ public Response getClassificationsWithResponse(String guid, RequestO
 
     /**
      * Add classifications to an existing entity represented by a GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1160,9 +1089,8 @@ public Response addClassificationsWithResponse(String guid, BinaryData bod
 
     /**
      * Update classifications to an existing entity represented by a guid.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1216,41 +1144,21 @@ public Response updateClassificationsWithResponse(String guid, BinaryData
      * The REST request would look something like this:
      * GET
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -1374,29 +1282,17 @@ public Response getByUniqueAttributeWithResponse(String typeName, Re
      * request would look something like this:
      * PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -1475,9 +1371,9 @@ public Response getByUniqueAttributeWithResponse(String typeName, Re
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1575,29 +1471,17 @@ public Response updateByUniqueAttributeWithResponse(String typeName,
      * request would look something like this:
      * DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1682,24 +1566,13 @@ public Response deleteByUniqueAttributeWithResponse(String typeName,
     /**
      * Delete a given classification from an entity identified by its type and unique
      * attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} * @@ -1722,29 +1595,17 @@ public Response removeClassificationByUniqueAttributeWithResponse(String t /** * Add classification to the entity identified by its type and unique attributes. - *

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1785,29 +1646,17 @@ public Response addClassificationsByUniqueAttributeWithResponse(String typ
 
     /**
      * Update classification on an entity identified by its type and unique attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1848,9 +1697,8 @@ public Response updateClassificationsUniqueByAttributeWithResponse(String
 
     /**
      * Set classifications on entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guidHeaderMap (Optional): {
@@ -1909,9 +1757,9 @@ public Response updateClassificationsUniqueByAttributeWithResponse(String
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *     String (Required)
@@ -1952,42 +1800,22 @@ public Response batchSetClassificationsWithResponse(BinaryData atlas
      * 
      * Note:
      * at least one unique attribute must be provided.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * + * example. qualifiedName can be changed to other unique attributes) *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set + *
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 + * entities you can set * attrs_1:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1. (This is only an - * example. qualifiedName can be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -2086,9 +1914,8 @@ public Response batchGetByUniqueAttributesWithResponse(String typeNa
 
     /**
      * Get entity header given its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -2160,9 +1987,8 @@ public Response getHeaderWithResponse(String guid, RequestOptions re
 
     /**
      * Remove business metadata from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String (Required): {
@@ -2189,29 +2015,17 @@ public Response removeBusinessMetadataWithResponse(String guid, BinaryData
 
     /**
      * Add business metadata to an entity.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, - * default is false.
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the + * entity or not, + * default is false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String (Required): {
@@ -2238,9 +2052,8 @@ public Response addOrUpdateBusinessMetadataWithResponse(String guid, Binar
 
     /**
      * Delete business metadata attributes from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: Object (Required)
@@ -2267,9 +2080,8 @@ public Response removeBusinessMetadataAttributesWithResponse(String busine
 
     /**
      * Add or update business metadata attributes.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: Object (Required)
@@ -2296,9 +2108,8 @@ public Response addOrUpdateBusinessMetadataAttributesWithResponse(String b
 
     /**
      * Get the sample Template for uploading/creating bulk BusinessMetaData.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * BinaryData
      * }
@@ -2318,9 +2129,8 @@ public Response getBusinessMetadataTemplateWithResponse(RequestOptio /** * Upload the file for creating Business Metadata in BULK. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     failedImportInfoList (Optional): [
@@ -2349,16 +2159,14 @@ public Response getBusinessMetadataTemplateWithResponse(RequestOptio
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response importBusinessMetadataWithResponse(BinaryData businessMetadataOptions,
         RequestOptions requestOptions) {
-        // Protocol API requires serialization of parts with content-disposition and data, as operation
-        // 'importBusinessMetadata' is 'multipart/form-data'
+        // Protocol API requires serialization of parts with content-disposition and data, as operation 'importBusinessMetadata' is 'multipart/form-data'
         return this.serviceClient.importBusinessMetadataWithResponse(businessMetadataOptions, requestOptions);
     }
 
     /**
      * Delete given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2381,9 +2189,8 @@ public Response removeLabelsWithResponse(String guid, RequestOptions reque
 
     /**
      * Set labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2406,9 +2213,8 @@ public Response setLabelsWithResponse(String guid, RequestOptions requestO
 
     /**
      * Add given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2443,29 +2249,17 @@ public Response addLabelWithResponse(String guid, RequestOptions requestOp
      * across entities, eg. qualifiedName. The REST request would look something like
      * this: DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2502,29 +2296,17 @@ public Response removeLabelsByUniqueAttributeWithResponse(String typeName,
      * The REST
      * request would look something like this: POST
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2561,29 +2343,17 @@ public Response setLabelsByUniqueAttributeWithResponse(String typeName, Re
      * The REST
      * request would look something like this: PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -2606,9 +2376,8 @@ public Response addLabelsByUniqueAttributeWithResponse(String typeName, Re
 
     /**
      * Move existing entities to the target collection.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     entityGuids (Optional): [
@@ -2616,9 +2385,9 @@ public Response addLabelsByUniqueAttributeWithResponse(String typeName, Re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2859,7 +2628,8 @@ public EntityMutationResult batchCreateOrUpdate(AtlasEntitiesWithExtInfo atlasEn
                 false);
         }
         return batchCreateOrUpdateWithResponse(BinaryData.fromObject(atlasEntitiesWithExtInfo), requestOptions)
-            .getValue().toObject(EntityMutationResult.class);
+            .getValue()
+            .toObject(EntityMutationResult.class);
     }
 
     /**
@@ -2888,7 +2658,8 @@ public EntityMutationResult batchCreateOrUpdate(AtlasEntitiesWithExtInfo atlasEn
         // Generated convenience method for batchCreateOrUpdateWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return batchCreateOrUpdateWithResponse(BinaryData.fromObject(atlasEntitiesWithExtInfo), requestOptions)
-            .getValue().toObject(EntityMutationResult.class);
+            .getValue()
+            .toObject(EntityMutationResult.class);
     }
 
     /**
@@ -3812,7 +3583,8 @@ public BulkImportResult importBusinessMetadata(BusinessMetadataOptions businessM
         return importBusinessMetadataWithResponse(new MultipartFormDataHelper(requestOptions)
             .serializeFileField("file", businessMetadataOptions.getFile().getContent(),
                 businessMetadataOptions.getFile().getContentType(), businessMetadataOptions.getFile().getFilename())
-            .end().getRequestBody(), requestOptions).getValue().toObject(BulkImportResult.class);
+            .end()
+            .getRequestBody(), requestOptions).getValue().toObject(BulkImportResult.class);
     }
 
     /**
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryAsyncClient.java
index 791e52c4b047..2bbe422dbeff 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryAsyncClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryAsyncClient.java
@@ -56,46 +56,18 @@ public final class GlossaryAsyncClient {
      * and
      * 
      * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -169,9 +141,8 @@ public Mono> batchGetWithResponse(RequestOptions requestOpt
 
     /**
      * Create a glossary.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -227,9 +198,9 @@ public Mono> batchGetWithResponse(RequestOptions requestOpt
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -302,9 +273,8 @@ public Mono> createWithResponse(BinaryData atlasGlossary, R
 
     /**
      * Create glossary category in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -366,9 +336,9 @@ public Mono> createWithResponse(BinaryData atlasGlossary, R
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -447,9 +417,8 @@ public Mono> createCategoriesWithResponse(BinaryData body,
 
     /**
      * Create a glossary category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -509,9 +478,9 @@ public Mono> createCategoriesWithResponse(BinaryData body,
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -589,9 +558,8 @@ public Mono> createCategoryWithResponse(BinaryData atlasGlo
 
     /**
      * Get specific glossary category by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -669,9 +637,8 @@ public Mono> getCategoryWithResponse(String categoryId, Req
 
     /**
      * Update the given glossary category by its GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -731,9 +698,9 @@ public Mono> getCategoryWithResponse(String categoryId, Req
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -830,17 +797,16 @@ public Mono> deleteCategoryWithResponse(String categoryId, Reques
     /**
      * Update the glossary category partially. So far we only supports partial
      * updating shortDescription and longDescription for category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -921,40 +887,17 @@ public Mono> partialUpdateCategoryWithResponse(String categ
     /**
      * Get all related categories (parent and children). Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     String (Required): [
@@ -987,40 +930,17 @@ public Mono> getRelatedCategoriesWithResponse(String catego
 
     /**
      * Get all terms associated with the specific category.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1052,28 +972,15 @@ public Mono> getCategoryTermsWithResponse(String categoryId
 
     /**
      * Create a glossary term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1234,9 +1141,9 @@ public Mono> getCategoryTermsWithResponse(String categoryId
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1415,9 +1322,8 @@ public Mono> createTermWithResponse(BinaryData atlasGlossar
 
     /**
      * Get a specific glossary term by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1596,28 +1502,15 @@ public Mono> getTermWithResponse(String termId, RequestOpti
 
     /**
      * Update the given glossary term by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1778,9 +1671,9 @@ public Mono> getTermWithResponse(String termId, RequestOpti
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1978,36 +1871,23 @@ public Mono> deleteTermWithResponse(String termId, RequestOptions
     /**
      * Update the glossary term partially. So far we only supports partial updating
      * shortDescription, longDescription, abbreviation, usage and status for term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2188,28 +2068,15 @@ public Mono> partialUpdateTermWithResponse(String termId, B
 
     /**
      * Create glossary terms in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2372,9 +2239,9 @@ public Mono> partialUpdateTermWithResponse(String termId, B
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2555,40 +2422,17 @@ public Mono> createTermsWithResponse(BinaryData body, Reque
     /**
      * List all related objects assigned with the specified term. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2635,9 +2479,8 @@ public Mono> getEntitiesAssignedWithTermWithResponse(String
      * [Entities Create Or Update
      * operation](https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/entity/bulk-create-or-update?tabs=HTTP)
      * is an alternative to assign a term to multiple entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2680,9 +2523,8 @@ public Mono> assignTermToEntitiesWithResponse(String termId, Bina
 
     /**
      * Delete the term assignment for the given list of related objects.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2726,40 +2568,17 @@ public Mono> deleteTermAssignmentFromEntitiesWithResponse(String
     /**
      * Get all related terms for a specific term by its GUID. Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     String (Required): [
@@ -2793,9 +2612,8 @@ public Mono> getRelatedTermsWithResponse(String termId, Req
 
     /**
      * Get a specific Glossary by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2868,28 +2686,15 @@ public Mono> getWithResponse(String glossaryId, RequestOpti
 
     /**
      * Update the given glossary.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2945,9 +2750,9 @@ public Mono> getWithResponse(String glossaryId, RequestOpti
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3041,40 +2846,17 @@ public Mono> deleteWithResponse(String glossaryId, RequestOptions
     /**
      * Get the categories belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -3155,40 +2937,17 @@ public Mono> getCategoriesWithResponse(String glossaryId, R
     /**
      * Get the category headers belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -3226,9 +2985,8 @@ public Mono> getCategoriesHeadersWithResponse(String glossa
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and
      * 
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3470,36 +3228,23 @@ public Mono> getDetailedWithResponse(String glossaryId, Req
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3576,40 +3321,17 @@ public Mono> partialUpdateWithResponse(String glossaryId, B
     /**
      * Get terms belonging to a specific glossary. Recommend using limit/offset to get
      * pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -3791,40 +3513,17 @@ public Mono> getTermsWithResponse(String glossaryId, Reques
     /**
      * Get term headers belonging to a specific glossary. Recommend using limit/offset
      * to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -4213,7 +3912,8 @@ public Mono createTerm(AtlasGlossaryTerm atlasGlossaryTerm, B
             requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false);
         }
         return createTermWithResponse(BinaryData.fromObject(atlasGlossaryTerm), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4234,7 +3934,8 @@ public Mono createTerm(AtlasGlossaryTerm atlasGlossaryTerm) {
         // Generated convenience method for createTermWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return createTermWithResponse(BinaryData.fromObject(atlasGlossaryTerm), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4282,7 +3983,8 @@ public Mono updateTerm(String termId, AtlasGlossaryTerm atlas
             requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false);
         }
         return updateTermWithResponse(termId, BinaryData.fromObject(atlasGlossaryTerm), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4304,7 +4006,8 @@ public Mono updateTerm(String termId, AtlasGlossaryTerm atlas
         // Generated convenience method for updateTermWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return updateTermWithResponse(termId, BinaryData.fromObject(atlasGlossaryTerm), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4353,7 +4056,8 @@ public Mono partialUpdateTerm(String termId, Map protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4377,7 +4081,8 @@ public Mono partialUpdateTerm(String termId, Map protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4636,7 +4341,8 @@ public Mono update(String glossaryId, AtlasGlossary atlasGlossary
             requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false);
         }
         return updateWithResponse(glossaryId, BinaryData.fromObject(atlasGlossary), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
     }
 
     /**
@@ -4658,7 +4364,8 @@ public Mono update(String glossaryId, AtlasGlossary atlasGlossary
         // Generated convenience method for updateWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return updateWithResponse(glossaryId, BinaryData.fromObject(atlasGlossary), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
     }
 
     /**
@@ -4856,7 +4563,8 @@ public Mono partialUpdate(String glossaryId, Map
             requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false);
         }
         return partialUpdateWithResponse(glossaryId, BinaryData.fromObject(body), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
     }
 
     /**
@@ -4886,7 +4594,8 @@ public Mono partialUpdate(String glossaryId, Map
         // Generated convenience method for partialUpdateWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return partialUpdateWithResponse(glossaryId, BinaryData.fromObject(body), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
     }
 
     /**
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryClient.java
index e658f7d9d801..22fadb8e9d36 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryClient.java
@@ -54,46 +54,18 @@ public final class GlossaryClient {
      * and
      * 
      * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -167,9 +139,8 @@ public Response batchGetWithResponse(RequestOptions requestOptions)
 
     /**
      * Create a glossary.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -225,9 +196,9 @@ public Response batchGetWithResponse(RequestOptions requestOptions)
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -300,9 +271,8 @@ public Response createWithResponse(BinaryData atlasGlossary, Request
 
     /**
      * Create glossary category in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -364,9 +334,9 @@ public Response createWithResponse(BinaryData atlasGlossary, Request
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -445,9 +415,8 @@ public Response createCategoriesWithResponse(BinaryData body, Reques
 
     /**
      * Create a glossary category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -507,9 +476,9 @@ public Response createCategoriesWithResponse(BinaryData body, Reques
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -587,9 +556,8 @@ public Response createCategoryWithResponse(BinaryData atlasGlossaryC
 
     /**
      * Get specific glossary category by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -666,9 +634,8 @@ public Response getCategoryWithResponse(String categoryId, RequestOp
 
     /**
      * Update the given glossary category by its GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -728,9 +695,9 @@ public Response getCategoryWithResponse(String categoryId, RequestOp
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -827,17 +794,16 @@ public Response deleteCategoryWithResponse(String categoryId, RequestOptio
     /**
      * Update the glossary category partially. So far we only supports partial
      * updating shortDescription and longDescription for category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -918,40 +884,17 @@ public Response partialUpdateCategoryWithResponse(String categoryId,
     /**
      * Get all related categories (parent and children). Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     String (Required): [
@@ -982,40 +925,17 @@ public Response getRelatedCategoriesWithResponse(String categoryId,
 
     /**
      * Get all terms associated with the specific category.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1046,28 +966,15 @@ public Response getCategoryTermsWithResponse(String categoryId, Requ
 
     /**
      * Create a glossary term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1228,9 +1135,9 @@ public Response getCategoryTermsWithResponse(String categoryId, Requ
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1408,9 +1315,8 @@ public Response createTermWithResponse(BinaryData atlasGlossaryTerm,
 
     /**
      * Get a specific glossary term by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1588,28 +1494,15 @@ public Response getTermWithResponse(String termId, RequestOptions re
 
     /**
      * Update the given glossary term by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1770,9 +1663,9 @@ public Response getTermWithResponse(String termId, RequestOptions re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1970,36 +1863,23 @@ public Response deleteTermWithResponse(String termId, RequestOptions reque
     /**
      * Update the glossary term partially. So far we only supports partial updating
      * shortDescription, longDescription, abbreviation, usage and status for term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2180,28 +2060,15 @@ public Response partialUpdateTermWithResponse(String termId, BinaryD
 
     /**
      * Create glossary terms in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2364,9 +2231,9 @@ public Response partialUpdateTermWithResponse(String termId, BinaryD
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2547,40 +2414,17 @@ public Response createTermsWithResponse(BinaryData body, RequestOpti
     /**
      * List all related objects assigned with the specified term. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2626,9 +2470,8 @@ public Response getEntitiesAssignedWithTermWithResponse(String termI
      * [Entities Create Or Update
      * operation](https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/entity/bulk-create-or-update?tabs=HTTP)
      * is an alternative to assign a term to multiple entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2671,9 +2514,8 @@ public Response assignTermToEntitiesWithResponse(String termId, BinaryData
 
     /**
      * Delete the term assignment for the given list of related objects.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2717,40 +2559,17 @@ public Response deleteTermAssignmentFromEntitiesWithResponse(String termId
     /**
      * Get all related terms for a specific term by its GUID. Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     String (Required): [
@@ -2783,9 +2602,8 @@ public Response getRelatedTermsWithResponse(String termId, RequestOp
 
     /**
      * Get a specific Glossary by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2858,28 +2676,15 @@ public Response getWithResponse(String glossaryId, RequestOptions re
 
     /**
      * Update the given glossary.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2935,9 +2740,9 @@ public Response getWithResponse(String glossaryId, RequestOptions re
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3031,40 +2836,17 @@ public Response deleteWithResponse(String glossaryId, RequestOptions reque
     /**
      * Get the categories belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -3144,40 +2926,17 @@ public Response getCategoriesWithResponse(String glossaryId, Request
     /**
      * Get the category headers belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -3213,9 +2972,8 @@ public Response getCategoriesHeadersWithResponse(String glossaryId,
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and
      * 
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3456,36 +3214,23 @@ public Response getDetailedWithResponse(String glossaryId, RequestOp
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3562,40 +3307,17 @@ public Response partialUpdateWithResponse(String glossaryId, BinaryD
     /**
      * Get terms belonging to a specific glossary. Recommend using limit/offset to get
      * pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -3776,40 +3498,17 @@ public Response getTermsWithResponse(String glossaryId, RequestOptio
     /**
      * Get term headers belonging to a specific glossary. Recommend using limit/offset
      * to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -4007,7 +3706,8 @@ public AtlasGlossaryCategory updateCategory(String categoryId, AtlasGlossaryCate
         // Generated convenience method for updateCategoryWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return updateCategoryWithResponse(categoryId, BinaryData.fromObject(atlasGlossaryCategory), requestOptions)
-            .getValue().toObject(AtlasGlossaryCategory.class);
+            .getValue()
+            .toObject(AtlasGlossaryCategory.class);
     }
 
     /**
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageAsyncClient.java
index f55006d4631f..d03d3a30e7f7 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageAsyncClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageAsyncClient.java
@@ -41,28 +41,15 @@ public final class LineageAsyncClient {
 
     /**
      * Get lineage info of the entity specified by GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -165,34 +152,16 @@ public Mono> getWithResponse(String guid, String direction,
 
     /**
      * Return immediate next page lineage info about entity with pagination.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -310,35 +279,18 @@ public Mono> getNextPageWithResponse(String guid, String di
      * 
      * GET
      * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -583,7 +535,8 @@ public Mono getByUniqueAttribute(String typeName, LineageDirec
             requestOptions.addQueryParam("attr:qualifiedName", attribute, false);
         }
         return getByUniqueAttributeWithResponse(typeName, direction.toString(), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class));
     }
 
     /**
@@ -620,6 +573,7 @@ public Mono getByUniqueAttribute(String typeName, LineageDirec
         // Generated convenience method for getByUniqueAttributeWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return getByUniqueAttributeWithResponse(typeName, direction.toString(), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class));
     }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageClient.java
index 354ff8d62004..a89f93f1b661 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageClient.java
@@ -39,28 +39,15 @@ public final class LineageClient {
 
     /**
      * Get lineage info of the entity specified by GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -162,34 +149,16 @@ public Response getWithResponse(String guid, String direction, Reque
 
     /**
      * Return immediate next page lineage info about entity with pagination.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -306,35 +275,18 @@ public Response getNextPageWithResponse(String guid, String directio
      * 
      * GET
      * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipAsyncClient.java
index 40d89b2ebcf4..a25f86611f4a 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipAsyncClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipAsyncClient.java
@@ -41,9 +41,8 @@ public final class RelationshipAsyncClient {
 
     /**
      * Create a new relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -71,9 +70,9 @@ public final class RelationshipAsyncClient {
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -118,9 +117,8 @@ public Mono> createWithResponse(BinaryData atlasRelationshi
 
     /**
      * Update an existing relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -148,9 +146,9 @@ public Mono> createWithResponse(BinaryData atlasRelationshi
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -195,28 +193,15 @@ public Mono> updateWithResponse(BinaryData atlasRelationshi
 
     /**
      * Get relationship information between entities by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipClient.java
index 71831f545a6e..05836b4b06cf 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipClient.java
@@ -39,9 +39,8 @@ public final class RelationshipClient {
 
     /**
      * Create a new relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -69,9 +68,9 @@ public final class RelationshipClient {
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -116,9 +115,8 @@ public Response createWithResponse(BinaryData atlasRelationship, Req
 
     /**
      * Update an existing relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -146,9 +144,9 @@ public Response createWithResponse(BinaryData atlasRelationship, Req
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -193,28 +191,15 @@ public Response updateWithResponse(BinaryData atlasRelationship, Req
 
     /**
      * Get relationship information between entities by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionAsyncClient.java
index bd87a5f6110d..caa32a33bb38 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionAsyncClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionAsyncClient.java
@@ -52,9 +52,8 @@ public final class TypeDefinitionAsyncClient {
 
     /**
      * Get the businessMetadata definition for the given guid.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -157,9 +156,8 @@ public Mono> getBusinessMetadataByIdWithResponse(String gui
 
     /**
      * Get the businessMetadata definition by it's name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -263,9 +261,8 @@ public Mono> getBusinessMetadataByNameWithResponse(String n
 
     /**
      * Get the classification definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -377,9 +374,8 @@ public Mono> getClassificationByIdWithResponse(String guid,
 
     /**
      * Get the classification definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -491,9 +487,8 @@ public Mono> getClassificationByNameWithResponse(String nam
 
     /**
      * Get the Entity definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -625,9 +620,8 @@ public Mono> getEntityByIdWithResponse(String guid, Request
 
     /**
      * Get the entity definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -759,9 +753,8 @@ public Mono> getEntityByNameWithResponse(String name, Reque
 
     /**
      * Get the enum definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -846,9 +839,8 @@ public Mono> getEnumByIdWithResponse(String guid, RequestOp
 
     /**
      * Get the enum definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -933,9 +925,8 @@ public Mono> getEnumByNameWithResponse(String name, Request
 
     /**
      * Get the relationship definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1049,9 +1040,8 @@ public Mono> getRelationshipByIdWithResponse(String guid, R
 
     /**
      * Get the relationship definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1165,9 +1155,8 @@ public Mono> getRelationshipByNameWithResponse(String name,
 
     /**
      * Get the struct definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1270,9 +1259,8 @@ public Mono> getStructByIdWithResponse(String guid, Request
 
     /**
      * Get the struct definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1375,9 +1363,8 @@ public Mono> getStructByNameWithResponse(String name, Reque
 
     /**
      * Get the type definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1531,9 +1518,8 @@ public Mono> getByIdWithResponse(String guid, RequestOption
 
     /**
      * Get the type definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1704,37 +1690,21 @@ public Mono> deleteWithResponse(String name, RequestOptions reque
 
     /**
      * List all type definitions in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all + * typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: + * "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", + * "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2033,9 +2003,8 @@ public Mono> getWithResponse(RequestOptions requestOptions)
      * Create all atlas type definitions in bulk, only new definitions will be
      * created.
      * Any changes to the existing definitions will be discarded.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2316,9 +2285,9 @@ public Mono> getWithResponse(RequestOptions requestOptions)
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2617,9 +2586,8 @@ public Mono> batchCreateWithResponse(BinaryData atlasTypesD
     /**
      * Update all types in bulk, changes detected in the type definitions would be
      * persisted.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2900,9 +2868,9 @@ public Mono> batchCreateWithResponse(BinaryData atlasTypesD
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -3200,9 +3168,8 @@ public Mono> batchUpdateWithResponse(BinaryData atlasTypesD
 
     /**
      * Delete API for all types in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -3500,37 +3467,21 @@ public Mono> batchDeleteWithResponse(BinaryData atlasTypesDef, Re
 
     /**
      * List all type definitions returned as a list of minimal information header.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all + * typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: + * "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", + * "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -3556,9 +3507,8 @@ public Mono> getHeadersWithResponse(RequestOptions requestO
 
     /**
      * Get the term template definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3661,9 +3611,8 @@ public Mono> getTermTemplateByIdWithResponse(String guid, R
 
     /**
      * Get the term template definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionClient.java
index b631c8fbb9b8..b26fe62940d4 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionClient.java
@@ -50,9 +50,8 @@ public final class TypeDefinitionClient {
 
     /**
      * Get the businessMetadata definition for the given guid.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -154,9 +153,8 @@ public Response getBusinessMetadataByIdWithResponse(String guid, Req
 
     /**
      * Get the businessMetadata definition by it's name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -258,9 +256,8 @@ public Response getBusinessMetadataByNameWithResponse(String name, R
 
     /**
      * Get the classification definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -371,9 +368,8 @@ public Response getClassificationByIdWithResponse(String guid, Reque
 
     /**
      * Get the classification definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -484,9 +480,8 @@ public Response getClassificationByNameWithResponse(String name, Req
 
     /**
      * Get the Entity definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -617,9 +612,8 @@ public Response getEntityByIdWithResponse(String guid, RequestOption
 
     /**
      * Get the entity definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -750,9 +744,8 @@ public Response getEntityByNameWithResponse(String name, RequestOpti
 
     /**
      * Get the enum definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -836,9 +829,8 @@ public Response getEnumByIdWithResponse(String guid, RequestOptions
 
     /**
      * Get the enum definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -922,9 +914,8 @@ public Response getEnumByNameWithResponse(String name, RequestOption
 
     /**
      * Get the relationship definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1037,9 +1028,8 @@ public Response getRelationshipByIdWithResponse(String guid, Request
 
     /**
      * Get the relationship definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1152,9 +1142,8 @@ public Response getRelationshipByNameWithResponse(String name, Reque
 
     /**
      * Get the struct definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1256,9 +1245,8 @@ public Response getStructByIdWithResponse(String guid, RequestOption
 
     /**
      * Get the struct definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1360,9 +1348,8 @@ public Response getStructByNameWithResponse(String name, RequestOpti
 
     /**
      * Get the type definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1515,9 +1502,8 @@ public Response getByIdWithResponse(String guid, RequestOptions requ
 
     /**
      * Get the type definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1687,37 +1673,21 @@ public Response deleteWithResponse(String name, RequestOptions requestOpti
 
     /**
      * List all type definitions in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all + * typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: + * "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", + * "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2016,9 +1986,8 @@ public Response getWithResponse(RequestOptions requestOptions) {
      * Create all atlas type definitions in bulk, only new definitions will be
      * created.
      * Any changes to the existing definitions will be discarded.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2299,9 +2268,9 @@ public Response getWithResponse(RequestOptions requestOptions) {
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2600,9 +2569,8 @@ public Response batchCreateWithResponse(BinaryData atlasTypesDef, Re
     /**
      * Update all types in bulk, changes detected in the type definitions would be
      * persisted.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2883,9 +2851,9 @@ public Response batchCreateWithResponse(BinaryData atlasTypesDef, Re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -3183,9 +3151,8 @@ public Response batchUpdateWithResponse(BinaryData atlasTypesDef, Re
 
     /**
      * Delete API for all types in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -3483,37 +3450,21 @@ public Response batchDeleteWithResponse(BinaryData atlasTypesDef, RequestO
 
     /**
      * List all type definitions returned as a list of minimal information header.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all + * typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: + * "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", + * "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -3539,9 +3490,8 @@ public Response getHeadersWithResponse(RequestOptions requestOptions
 
     /**
      * Get the term template definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3643,9 +3593,8 @@ public Response getTermTemplateByIdWithResponse(String guid, Request
 
     /**
      * Get the term template definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DiscoveriesImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DiscoveriesImpl.java
index 00ea54d57b82..375e97be7939 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DiscoveriesImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DiscoveriesImpl.java
@@ -134,9 +134,8 @@ Response autoCompleteSync(@HostParam("endpoint") String endpoint,
 
     /**
      * Get data using search.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -164,10 +163,11 @@ Response autoCompleteSync(@HostParam("endpoint") String endpoint,
      *     }
      * }
      * }
- *

- * Response Body Schema - *

- *
{@code
+     * 
+     * 

Response Body Schema

+ * + *
+     * {@code
      * {
      *     @search.count: Integer (Optional)
      *     @search.count.approximate: Boolean (Optional)
@@ -270,7 +270,8 @@ Response autoCompleteSync(@HostParam("endpoint") String endpoint,
      *         }
      *     ]
      * }
-     * }
+ * } + *
* * @param queryOptions The search query of advanced search request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -289,9 +290,8 @@ public Mono> queryWithResponseAsync(BinaryData queryOptions /** * Get data using search. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -319,10 +319,11 @@ public Mono> queryWithResponseAsync(BinaryData queryOptions
      *     }
      * }
      * }
- *

- * Response Body Schema - *

- *
{@code
+     * 
+     * 

Response Body Schema

+ * + *
+     * {@code
      * {
      *     @search.count: Integer (Optional)
      *     @search.count.approximate: Boolean (Optional)
@@ -425,7 +426,8 @@ public Mono> queryWithResponseAsync(BinaryData queryOptions
      *         }
      *     ]
      * }
-     * }
+ * } + *
* * @param queryOptions The search query of advanced search request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -444,9 +446,8 @@ public Response queryWithResponse(BinaryData queryOptions, RequestOp /** * Get search suggestions by query criteria. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -454,10 +455,11 @@ public Response queryWithResponse(BinaryData queryOptions, RequestOp
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

- *
{@code
+     * 
+     * 

Response Body Schema

+ * + *
+     * {@code
      * {
      *     value (Optional): [
      *          (Optional){
@@ -506,7 +508,8 @@ public Response queryWithResponse(BinaryData queryOptions, RequestOp
      *         }
      *     ]
      * }
-     * }
+ * } + *
* * @param suggestOptions The payload of suggest request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -527,9 +530,8 @@ public Mono> suggestWithResponseAsync(BinaryData suggestOpt /** * Get search suggestions by query criteria. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -537,10 +539,11 @@ public Mono> suggestWithResponseAsync(BinaryData suggestOpt
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

- *
{@code
+     * 
+     * 

Response Body Schema

+ * + *
+     * {@code
      * {
      *     value (Optional): [
      *          (Optional){
@@ -589,7 +592,8 @@ public Mono> suggestWithResponseAsync(BinaryData suggestOpt
      *         }
      *     ]
      * }
-     * }
+ * } + *
* * @param suggestOptions The payload of suggest request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -608,9 +612,8 @@ public Response suggestWithResponse(BinaryData suggestOptions, Reque /** * Get auto complete options. - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -618,9 +621,9 @@ public Response suggestWithResponse(BinaryData suggestOptions, Reque
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     value (Optional): [
@@ -650,9 +653,8 @@ public Mono> autoCompleteWithResponseAsync(BinaryData autoC
 
     /**
      * Get auto complete options.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     keywords: String (Optional)
@@ -660,9 +662,9 @@ public Mono> autoCompleteWithResponseAsync(BinaryData autoC
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     value (Optional): [
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/EntitiesImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/EntitiesImpl.java
index 689742808ebc..c470e78d94c7 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/EntitiesImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/EntitiesImpl.java
@@ -70,8 +70,8 @@ public PurviewDataMapServiceVersion getServiceVersion() {
     }
 
     /**
-     * The interface defining all the services for DataMapClientEntities to be used by the proxy service to perform
-     * REST calls.
+     * The interface defining all the services for DataMapClientEntities to be used by the proxy service to perform REST
+     * calls.
      */
     @Host("{endpoint}/datamap/api")
     @ServiceInterface(name = "DataMapClientEntitie")
@@ -791,36 +791,20 @@ Response moveEntitiesToCollectionSync(@HostParam("endpoint") String
      * collections are not well supported. E.g., array<array<int>>, array<map<string,
      * int>>.
      * For each contact type, the maximum number of contacts is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for + * business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only + * specify a value if you + * need to move an entity to another collection.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -899,9 +883,9 @@ Response moveEntitiesToCollectionSync(@HostParam("endpoint") String
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -995,36 +979,20 @@ public Mono> createOrUpdateWithResponseAsync(BinaryData atl
      * collections are not well supported. E.g., array<array<int>>, array<map<string,
      * int>>.
      * For each contact type, the maximum number of contacts is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for + * business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only + * specify a value if you + * need to move an entity to another collection.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -1103,9 +1071,9 @@ public Mono> createOrUpdateWithResponseAsync(BinaryData atl
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1192,34 +1160,18 @@ public Response createOrUpdateWithResponse(BinaryData atlasEntityWit
 
     /**
      * List entities in bulk identified by its GUIDs.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -1320,34 +1272,18 @@ public Mono> getByIdsWithResponseAsync(List guid, R
 
     /**
      * List entities in bulk identified by its GUIDs.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -1455,36 +1391,20 @@ public Response getByIdsWithResponse(List guid, RequestOptio
      * array<map<string, int>>.
      * For each contact type, the maximum number of contacts
      * is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only + * specify a value if you + * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for + * business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -1565,9 +1485,9 @@ public Response getByIdsWithResponse(List guid, RequestOptio
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1662,36 +1582,20 @@ public Mono> batchCreateOrUpdateWithResponseAsync(BinaryDat
      * array<map<string, int>>.
      * For each contact type, the maximum number of contacts
      * is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only + * specify a value if you + * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for + * business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -1772,9 +1676,9 @@ public Mono> batchCreateOrUpdateWithResponseAsync(BinaryDat
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1862,9 +1766,8 @@ public Response batchCreateOrUpdateWithResponse(BinaryData atlasEnti
     /**
      * Delete a list of entities in bulk identified by their GUIDs or unique
      * attributes.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1952,9 +1855,8 @@ public Mono> batchDeleteWithResponseAsync(List guid
     /**
      * Delete a list of entities in bulk identified by their GUIDs or unique
      * attributes.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2039,9 +1941,8 @@ public Response batchDeleteWithResponse(List guid, RequestOp
 
     /**
      * Associate a classification to multiple entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classification (Optional): {
@@ -2085,9 +1986,8 @@ public Mono> addClassificationWithResponseAsync(BinaryData classi
 
     /**
      * Associate a classification to multiple entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     classification (Optional): {
@@ -2131,34 +2031,18 @@ public Response addClassificationWithResponse(BinaryData classificationAss
 
     /**
      * Get complete definition of an entity given its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -2256,34 +2140,18 @@ public Mono> getWithResponseAsync(String guid, RequestOptio
 
     /**
      * Get complete definition of an entity given its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -2383,15 +2251,14 @@ public Response getWithResponse(String guid, RequestOptions requestO
      * Supports only primitive attribute type and entity references.
      * It does not support updating complex types like arrays, and maps.
      * Null updates are not possible.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * Object
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2484,15 +2351,14 @@ public Mono> updateAttributeByIdWithResponseAsync(String gu
      * Supports only primitive attribute type and entity references.
      * It does not support updating complex types like arrays, and maps.
      * Null updates are not possible.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * Object
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2580,9 +2446,8 @@ public Response updateAttributeByIdWithResponse(String guid, String
 
     /**
      * Delete an entity identified by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2668,9 +2533,8 @@ public Mono> deleteWithResponseAsync(String guid, RequestOp
 
     /**
      * Delete an entity identified by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2754,9 +2618,8 @@ public Response deleteWithResponse(String guid, RequestOptions reque
 
     /**
      * Get classification for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -2797,9 +2660,8 @@ public Mono> getClassificationWithResponseAsync(String guid
 
     /**
      * Get classification for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -2879,9 +2741,8 @@ public Response removeClassificationWithResponse(String guid, String class
 
     /**
      * List classifications for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     list (Optional): [
@@ -2912,9 +2773,8 @@ public Mono> getClassificationsWithResponseAsync(String gui
 
     /**
      * List classifications for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     list (Optional): [
@@ -2944,9 +2804,8 @@ public Response getClassificationsWithResponse(String guid, RequestO
 
     /**
      * Add classifications to an existing entity represented by a GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2988,9 +2847,8 @@ public Mono> addClassificationsWithResponseAsync(String guid, Bin
 
     /**
      * Add classifications to an existing entity represented by a GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -3031,9 +2889,8 @@ public Response addClassificationsWithResponse(String guid, BinaryData bod
 
     /**
      * Update classifications to an existing entity represented by a guid.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -3075,9 +2932,8 @@ public Mono> updateClassificationsWithResponseAsync(String guid,
 
     /**
      * Update classifications to an existing entity represented by a guid.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -3132,41 +2988,21 @@ public Response updateClassificationsWithResponse(String guid, BinaryData
      * The REST request would look something like this:
      * GET
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -3291,41 +3127,21 @@ public Mono> getByUniqueAttributeWithResponseAsync(String t
      * The REST request would look something like this:
      * GET
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -3450,29 +3266,17 @@ public Response getByUniqueAttributeWithResponse(String typeName, Re
      * request would look something like this:
      * PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -3551,9 +3355,9 @@ public Response getByUniqueAttributeWithResponse(String typeName, Re
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -3657,29 +3461,17 @@ public Mono> updateByUniqueAttributeWithResponseAsync(Strin
      * request would look something like this:
      * PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -3758,9 +3550,9 @@ public Mono> updateByUniqueAttributeWithResponseAsync(Strin
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -3859,29 +3651,17 @@ public Response updateByUniqueAttributeWithResponse(String typeName,
      * request would look something like this:
      * DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -3979,29 +3759,17 @@ public Mono> deleteByUniqueAttributeWithResponseAsync(Strin
      * request would look something like this:
      * DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -4087,24 +3855,13 @@ public Response deleteByUniqueAttributeWithResponse(String typeName,
     /**
      * Delete a given classification from an entity identified by its type and unique
      * attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} * @@ -4128,24 +3885,13 @@ public Mono> removeClassificationByUniqueAttributeWithResponseAsy /** * Delete a given classification from an entity identified by its type and unique * attributes. - *

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} * @@ -4168,29 +3914,17 @@ public Response removeClassificationByUniqueAttributeWithResponse(String t /** * Add classification to the entity identified by its type and unique attributes. - *

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -4232,29 +3966,17 @@ public Mono> addClassificationsByUniqueAttributeWithResponseAsync
 
     /**
      * Add classification to the entity identified by its type and unique attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -4296,29 +4018,17 @@ public Response addClassificationsByUniqueAttributeWithResponse(String typ
 
     /**
      * Update classification on an entity identified by its type and unique attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -4360,29 +4070,17 @@ public Mono> updateClassificationsUniqueByAttributeWithResponseAs
 
     /**
      * Update classification on an entity identified by its type and unique attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -4424,9 +4122,8 @@ public Response updateClassificationsUniqueByAttributeWithResponse(String
 
     /**
      * Set classifications on entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guidHeaderMap (Optional): {
@@ -4485,9 +4182,9 @@ public Response updateClassificationsUniqueByAttributeWithResponse(String
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *     String (Required)
@@ -4512,9 +4209,8 @@ public Mono> batchSetClassificationsWithResponseAsync(Binar
 
     /**
      * Set classifications on entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guidHeaderMap (Optional): {
@@ -4573,9 +4269,9 @@ public Mono> batchSetClassificationsWithResponseAsync(Binar
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *     String (Required)
@@ -4617,42 +4313,22 @@ public Response batchSetClassificationsWithResponse(BinaryData atlas
      * 
      * Note:
      * at least one unique attribute must be provided.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * + * example. qualifiedName can be changed to other unique attributes) *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set + *
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 + * entities you can set * attrs_1:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1. (This is only an - * example. qualifiedName can be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -4770,42 +4446,22 @@ public Mono> batchGetByUniqueAttributesWithResponseAsync(St
      * 
      * Note:
      * at least one unique attribute must be provided.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * + * example. qualifiedName can be changed to other unique attributes) *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set + *
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred + * entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship + * attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 + * entities you can set * attrs_1:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1. (This is only an - * example. qualifiedName can be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -4905,9 +4561,8 @@ public Response batchGetByUniqueAttributesWithResponse(String typeNa
 
     /**
      * Get entity header given its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -4980,9 +4635,8 @@ public Mono> getHeaderWithResponseAsync(String guid, Reques
 
     /**
      * Get entity header given its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -5054,9 +4708,8 @@ public Response getHeaderWithResponse(String guid, RequestOptions re
 
     /**
      * Remove business metadata from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String (Required): {
@@ -5084,9 +4737,8 @@ public Mono> removeBusinessMetadataWithResponseAsync(String guid,
 
     /**
      * Remove business metadata from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String (Required): {
@@ -5114,29 +4766,17 @@ public Response removeBusinessMetadataWithResponse(String guid, BinaryData
 
     /**
      * Add business metadata to an entity.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, - * default is false.
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the + * entity or not, + * default is false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String (Required): {
@@ -5164,29 +4804,17 @@ public Mono> addOrUpdateBusinessMetadataWithResponseAsync(String
 
     /**
      * Add business metadata to an entity.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, - * default is false.
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the + * entity or not, + * default is false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String (Required): {
@@ -5214,9 +4842,8 @@ public Response addOrUpdateBusinessMetadataWithResponse(String guid, Binar
 
     /**
      * Delete business metadata attributes from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: Object (Required)
@@ -5243,9 +4870,8 @@ public Mono> removeBusinessMetadataAttributesWithResponseAsync(St
 
     /**
      * Delete business metadata attributes from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: Object (Required)
@@ -5272,9 +4898,8 @@ public Response removeBusinessMetadataAttributesWithResponse(String busine
 
     /**
      * Add or update business metadata attributes.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: Object (Required)
@@ -5301,9 +4926,8 @@ public Mono> addOrUpdateBusinessMetadataAttributesWithResponseAsy
 
     /**
      * Add or update business metadata attributes.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: Object (Required)
@@ -5330,9 +4954,8 @@ public Response addOrUpdateBusinessMetadataAttributesWithResponse(String b
 
     /**
      * Get the sample Template for uploading/creating bulk BusinessMetaData.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * BinaryData
      * }
@@ -5354,9 +4977,8 @@ public Mono> getBusinessMetadataTemplateWithResponseAsync(R /** * Get the sample Template for uploading/creating bulk BusinessMetaData. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * BinaryData
      * }
@@ -5376,9 +4998,8 @@ public Response getBusinessMetadataTemplateWithResponse(RequestOptio /** * Upload the file for creating Business Metadata in BULK. - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     failedImportInfoList (Optional): [
@@ -5414,9 +5035,8 @@ public Mono> importBusinessMetadataWithResponseAsync(Binary
 
     /**
      * Upload the file for creating Business Metadata in BULK.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     failedImportInfoList (Optional): [
@@ -5452,9 +5072,8 @@ public Response importBusinessMetadataWithResponse(BinaryData busine
 
     /**
      * Delete given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -5484,9 +5103,8 @@ public Mono> removeLabelsWithResponseAsync(String guid, RequestOp
 
     /**
      * Delete given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -5515,9 +5133,8 @@ public Response removeLabelsWithResponse(String guid, RequestOptions reque
 
     /**
      * Set labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -5547,9 +5164,8 @@ public Mono> setLabelsWithResponseAsync(String guid, RequestOptio
 
     /**
      * Set labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -5578,9 +5194,8 @@ public Response setLabelsWithResponse(String guid, RequestOptions requestO
 
     /**
      * Add given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -5610,9 +5225,8 @@ public Mono> addLabelWithResponseAsync(String guid, RequestOption
 
     /**
      * Add given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -5653,29 +5267,17 @@ public Response addLabelWithResponse(String guid, RequestOptions requestOp
      * across entities, eg. qualifiedName. The REST request would look something like
      * this: DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -5718,29 +5320,17 @@ public Mono> removeLabelsByUniqueAttributeWithResponseAsync(Strin
      * across entities, eg. qualifiedName. The REST request would look something like
      * this: DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -5784,29 +5374,17 @@ public Response removeLabelsByUniqueAttributeWithResponse(String typeName,
      * The REST
      * request would look something like this: POST
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -5851,29 +5429,17 @@ public Mono> setLabelsByUniqueAttributeWithResponseAsync(String t
      * The REST
      * request would look something like this: POST
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -5917,29 +5483,17 @@ public Response setLabelsByUniqueAttributeWithResponse(String typeName, Re
      * The REST
      * request would look something like this: PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -5984,29 +5538,17 @@ public Mono> addLabelsByUniqueAttributeWithResponseAsync(String t
      * The REST
      * request would look something like this: PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *     String (Optional)
@@ -6036,9 +5578,8 @@ public Response addLabelsByUniqueAttributeWithResponse(String typeName, Re
 
     /**
      * Move existing entities to the target collection.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     entityGuids (Optional): [
@@ -6046,9 +5587,9 @@ public Response addLabelsByUniqueAttributeWithResponse(String typeName, Re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
@@ -6137,9 +5678,8 @@ public Mono> moveEntitiesToCollectionWithResponseAsync(Stri
 
     /**
      * Move existing entities to the target collection.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     entityGuids (Optional): [
@@ -6147,9 +5687,9 @@ public Mono> moveEntitiesToCollectionWithResponseAsync(Stri
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guidAssignments (Optional): {
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/GlossariesImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/GlossariesImpl.java
index 3e521423eae7..cf3c404eed14 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/GlossariesImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/GlossariesImpl.java
@@ -666,46 +666,18 @@ Response getTermHeadersSync(@HostParam("endpoint") String endpoint,
      * and
      * 
      * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -787,46 +759,18 @@ public Mono> batchGetWithResponseAsync(RequestOptions reque
      * and
      * 
      * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -901,9 +845,8 @@ public Response batchGetWithResponse(RequestOptions requestOptions)
 
     /**
      * Create a glossary.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -959,9 +902,9 @@ public Response batchGetWithResponse(RequestOptions requestOptions)
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1035,9 +978,8 @@ public Mono> createWithResponseAsync(BinaryData atlasGlossa
 
     /**
      * Create a glossary.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1093,9 +1035,9 @@ public Mono> createWithResponseAsync(BinaryData atlasGlossa
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1168,9 +1110,8 @@ public Response createWithResponse(BinaryData atlasGlossary, Request
 
     /**
      * Create glossary category in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1232,9 +1173,9 @@ public Response createWithResponse(BinaryData atlasGlossary, Request
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1315,9 +1256,8 @@ public Mono> createCategoriesWithResponseAsync(BinaryData b
 
     /**
      * Create glossary category in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1379,9 +1319,9 @@ public Mono> createCategoriesWithResponseAsync(BinaryData b
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1460,9 +1400,8 @@ public Response createCategoriesWithResponse(BinaryData body, Reques
 
     /**
      * Create a glossary category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1522,9 +1461,9 @@ public Response createCategoriesWithResponse(BinaryData body, Reques
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1603,9 +1542,8 @@ public Mono> createCategoryWithResponseAsync(BinaryData atl
 
     /**
      * Create a glossary category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1665,9 +1603,9 @@ public Mono> createCategoryWithResponseAsync(BinaryData atl
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1746,9 +1684,8 @@ public Response createCategoryWithResponse(BinaryData atlasGlossaryC
 
     /**
      * Get specific glossary category by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1827,9 +1764,8 @@ public Mono> getCategoryWithResponseAsync(String categoryId
 
     /**
      * Get specific glossary category by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1906,9 +1842,8 @@ public Response getCategoryWithResponse(String categoryId, RequestOp
 
     /**
      * Update the given glossary category by its GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -1968,9 +1903,9 @@ public Response getCategoryWithResponse(String categoryId, RequestOp
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2050,9 +1985,8 @@ public Mono> updateCategoryWithResponseAsync(String categor
 
     /**
      * Update the given glossary category by its GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2112,9 +2046,9 @@ public Mono> updateCategoryWithResponseAsync(String categor
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2230,17 +2164,16 @@ public Response deleteCategoryWithResponse(String categoryId, RequestOptio
     /**
      * Update the glossary category partially. So far we only supports partial
      * updating shortDescription and longDescription for category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2322,17 +2255,16 @@ public Mono> partialUpdateCategoryWithResponseAsync(String
     /**
      * Update the glossary category partially. So far we only supports partial
      * updating shortDescription and longDescription for category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2414,40 +2346,17 @@ public Response partialUpdateCategoryWithResponse(String categoryId,
     /**
      * Get all related categories (parent and children). Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     String (Required): [
@@ -2482,40 +2391,17 @@ public Mono> getRelatedCategoriesWithResponseAsync(String c
     /**
      * Get all related categories (parent and children). Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     String (Required): [
@@ -2547,40 +2433,17 @@ public Response getRelatedCategoriesWithResponse(String categoryId,
 
     /**
      * Get all terms associated with the specific category.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2614,40 +2477,17 @@ public Mono> getCategoryTermsWithResponseAsync(String categ
 
     /**
      * Get all terms associated with the specific category.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -2679,28 +2519,15 @@ public Response getCategoryTermsWithResponse(String categoryId, Requ
 
     /**
      * Create a glossary term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -2861,9 +2688,9 @@ public Response getCategoryTermsWithResponse(String categoryId, Requ
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3043,28 +2870,15 @@ public Mono> createTermWithResponseAsync(BinaryData atlasGl
 
     /**
      * Create a glossary term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3225,9 +3039,9 @@ public Mono> createTermWithResponseAsync(BinaryData atlasGl
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3406,9 +3220,8 @@ public Response createTermWithResponse(BinaryData atlasGlossaryTerm,
 
     /**
      * Get a specific glossary term by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3588,9 +3401,8 @@ public Mono> getTermWithResponseAsync(String termId, Reques
 
     /**
      * Get a specific glossary term by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3769,28 +3581,15 @@ public Response getTermWithResponse(String termId, RequestOptions re
 
     /**
      * Update the given glossary term by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -3951,9 +3750,9 @@ public Response getTermWithResponse(String termId, RequestOptions re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -4134,28 +3933,15 @@ public Mono> updateTermWithResponseAsync(String termId, Bin
 
     /**
      * Update the given glossary term by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -4316,9 +4102,9 @@ public Mono> updateTermWithResponseAsync(String termId, Bin
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -4535,36 +4321,23 @@ public Response deleteTermWithResponse(String termId, RequestOptions reque
     /**
      * Update the glossary term partially. So far we only supports partial updating
      * shortDescription, longDescription, abbreviation, usage and status for term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -4747,36 +4520,23 @@ public Mono> partialUpdateTermWithResponseAsync(String term
     /**
      * Update the glossary term partially. So far we only supports partial updating
      * shortDescription, longDescription, abbreviation, usage and status for term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -4958,28 +4718,15 @@ public Response partialUpdateTermWithResponse(String termId, BinaryD
 
     /**
      * Create glossary terms in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -5142,9 +4889,9 @@ public Response partialUpdateTermWithResponse(String termId, BinaryD
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -5325,28 +5072,15 @@ public Mono> createTermsWithResponseAsync(BinaryData body,
 
     /**
      * Create glossary terms in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -5509,9 +5243,9 @@ public Mono> createTermsWithResponseAsync(BinaryData body,
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -5693,40 +5427,17 @@ public Response createTermsWithResponse(BinaryData body, RequestOpti
     /**
      * List all related objects assigned with the specified term. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -5770,40 +5481,17 @@ public Mono> getEntitiesAssignedWithTermWithResponseAsync(S
     /**
      * List all related objects assigned with the specified term. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -5850,9 +5538,8 @@ public Response getEntitiesAssignedWithTermWithResponse(String termI
      * [Entities Create Or Update
      * operation](https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/entity/bulk-create-or-update?tabs=HTTP)
      * is an alternative to assign a term to multiple entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -5901,9 +5588,8 @@ public Mono> assignTermToEntitiesWithResponseAsync(String termId,
      * [Entities Create Or Update
      * operation](https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/entity/bulk-create-or-update?tabs=HTTP)
      * is an alternative to assign a term to multiple entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -5947,9 +5633,8 @@ public Response assignTermToEntitiesWithResponse(String termId, BinaryData
 
     /**
      * Delete the term assignment for the given list of related objects.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -5993,9 +5678,8 @@ public Mono> deleteTermAssignmentFromEntitiesWithResponseAsync(St
 
     /**
      * Delete the term assignment for the given list of related objects.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -6040,40 +5724,17 @@ public Response deleteTermAssignmentFromEntitiesWithResponse(String termId
     /**
      * Get all related terms for a specific term by its GUID. Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     String (Required): [
@@ -6109,40 +5770,17 @@ public Mono> getRelatedTermsWithResponseAsync(String termId
     /**
      * Get all related terms for a specific term by its GUID. Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     String (Required): [
@@ -6176,9 +5814,8 @@ public Response getRelatedTermsWithResponse(String termId, RequestOp
 
     /**
      * Get a specific Glossary by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -6252,9 +5889,8 @@ public Mono> getWithResponseAsync(String glossaryId, Reques
 
     /**
      * Get a specific Glossary by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -6327,28 +5963,15 @@ public Response getWithResponse(String glossaryId, RequestOptions re
 
     /**
      * Update the given glossary.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -6404,9 +6027,9 @@ public Response getWithResponse(String glossaryId, RequestOptions re
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -6482,28 +6105,15 @@ public Mono> updateWithResponseAsync(String glossaryId, Bin
 
     /**
      * Update the given glossary.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -6559,9 +6169,9 @@ public Mono> updateWithResponseAsync(String glossaryId, Bin
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -6675,40 +6285,17 @@ public Response deleteWithResponse(String glossaryId, RequestOptions reque
     /**
      * Get the categories belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -6790,40 +6377,17 @@ public Mono> getCategoriesWithResponseAsync(String glossary
     /**
      * Get the categories belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -6903,40 +6467,17 @@ public Response getCategoriesWithResponse(String glossaryId, Request
     /**
      * Get the category headers belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -6969,40 +6510,17 @@ public Mono> getCategoriesHeadersWithResponseAsync(String g
     /**
      * Get the category headers belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -7039,9 +6557,8 @@ public Response getCategoriesHeadersWithResponse(String glossaryId,
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and
      * 
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -7284,9 +6801,8 @@ public Mono> getDetailedWithResponseAsync(String glossaryId
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and
      * 
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -7528,36 +7044,23 @@ public Response getDetailedWithResponse(String glossaryId, RequestOp
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -7641,36 +7144,23 @@ public Mono> partialUpdateWithResponseAsync(String glossary
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     guid: String (Optional)
@@ -7748,40 +7238,17 @@ public Response partialUpdateWithResponse(String glossaryId, BinaryD
     /**
      * Get terms belonging to a specific glossary. Recommend using limit/offset to get
      * pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -7964,40 +7431,17 @@ public Mono> getTermsWithResponseAsync(String glossaryId, R
     /**
      * Get terms belonging to a specific glossary. Recommend using limit/offset to get
      * pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -8179,40 +7623,17 @@ public Response getTermsWithResponse(String glossaryId, RequestOptio
     /**
      * Get term headers belonging to a specific glossary. Recommend using limit/offset
      * to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -8247,40 +7668,17 @@ public Mono> getTermHeadersWithResponseAsync(String glossar
     /**
      * Get term headers belonging to a specific glossary. Recommend using limit/offset
      * to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/LineagesImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/LineagesImpl.java
index 09e26a26702a..70a2e0e63e42 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/LineagesImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/LineagesImpl.java
@@ -62,8 +62,8 @@ public PurviewDataMapServiceVersion getServiceVersion() {
     }
 
     /**
-     * The interface defining all the services for DataMapClientLineages to be used by the proxy service to perform
-     * REST calls.
+     * The interface defining all the services for DataMapClientLineages to be used by the proxy service to perform REST
+     * calls.
      */
     @Host("{endpoint}/datamap/api")
     @ServiceInterface(name = "DataMapClientLineage")
@@ -133,28 +133,15 @@ Response getByUniqueAttributeSync(@HostParam("endpoint") String endp
 
     /**
      * Get lineage info of the entity specified by GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -259,28 +246,15 @@ public Mono> getWithResponseAsync(String guid, String direc
 
     /**
      * Get lineage info of the entity specified by GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -382,34 +356,16 @@ public Response getWithResponse(String guid, String direction, Reque
 
     /**
      * Return immediate next page lineage info about entity with pagination.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -513,34 +469,16 @@ public Mono> getNextPageWithResponseAsync(String guid, Stri
 
     /**
      * Return immediate next page lineage info about entity with pagination.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -658,35 +596,18 @@ public Response getNextPageWithResponse(String guid, String directio
      * 
      * GET
      * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -805,35 +726,18 @@ public Mono> getByUniqueAttributeWithResponseAsync(String t
      * 
      * GET
      * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an + * example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     baseEntityGuid: String (Optional)
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/MultipartFormDataHelper.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/MultipartFormDataHelper.java
index 10776798e84c..4bd32c2536bf 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/MultipartFormDataHelper.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/MultipartFormDataHelper.java
@@ -8,6 +8,7 @@
 import com.azure.core.http.rest.RequestOptions;
 import com.azure.core.util.BinaryData;
 import com.azure.core.util.CoreUtils;
+
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.io.SequenceInputStream;
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/RelationshipsImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/RelationshipsImpl.java
index cda6259b1030..0dfeba3dacbd 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/RelationshipsImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/RelationshipsImpl.java
@@ -66,8 +66,8 @@ public PurviewDataMapServiceVersion getServiceVersion() {
     }
 
     /**
-     * The interface defining all the services for DataMapClientRelationships to be used by the proxy service to
-     * perform REST calls.
+     * The interface defining all the services for DataMapClientRelationships to be used by the proxy service to perform
+     * REST calls.
      */
     @Host("{endpoint}/datamap/api")
     @ServiceInterface(name = "DataMapClientRelatio")
@@ -151,9 +151,8 @@ Response deleteSync(@HostParam("endpoint") String endpoint, @PathParam("gu
 
     /**
      * Create a new relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -181,9 +180,9 @@ Response deleteSync(@HostParam("endpoint") String endpoint, @PathParam("gu
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -230,9 +229,8 @@ public Mono> createWithResponseAsync(BinaryData atlasRelati
 
     /**
      * Create a new relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -260,9 +258,9 @@ public Mono> createWithResponseAsync(BinaryData atlasRelati
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -307,9 +305,8 @@ public Response createWithResponse(BinaryData atlasRelationship, Req
 
     /**
      * Update an existing relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -337,9 +334,9 @@ public Response createWithResponse(BinaryData atlasRelationship, Req
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -386,9 +383,8 @@ public Mono> updateWithResponseAsync(BinaryData atlasRelati
 
     /**
      * Update an existing relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -416,9 +412,9 @@ public Mono> updateWithResponseAsync(BinaryData atlasRelati
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     attributes (Optional): {
@@ -463,28 +459,15 @@ public Response updateWithResponse(BinaryData atlasRelationship, Req
 
     /**
      * Get relationship information between entities by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
@@ -587,28 +570,15 @@ public Mono> getWithResponseAsync(String guid, RequestOptio
 
     /**
      * Get relationship information between entities by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     referredEntities (Optional): {
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/TypeDefinitionsImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/TypeDefinitionsImpl.java
index 136c6bce594c..072f210db5a4 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/TypeDefinitionsImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/TypeDefinitionsImpl.java
@@ -498,9 +498,8 @@ Response getTermTemplateByNameSync(@HostParam("endpoint") String end
 
     /**
      * Get the businessMetadata definition for the given guid.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -605,9 +604,8 @@ public Mono> getBusinessMetadataByIdWithResponseAsync(Strin
 
     /**
      * Get the businessMetadata definition for the given guid.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -710,9 +708,8 @@ public Response getBusinessMetadataByIdWithResponse(String guid, Req
 
     /**
      * Get the businessMetadata definition by it's name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -817,9 +814,8 @@ public Mono> getBusinessMetadataByNameWithResponseAsync(Str
 
     /**
      * Get the businessMetadata definition by it's name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -922,9 +918,8 @@ public Response getBusinessMetadataByNameWithResponse(String name, R
 
     /**
      * Get the classification definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1038,9 +1033,8 @@ public Mono> getClassificationByIdWithResponseAsync(String
 
     /**
      * Get the classification definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1151,9 +1145,8 @@ public Response getClassificationByIdWithResponse(String guid, Reque
 
     /**
      * Get the classification definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1267,9 +1260,8 @@ public Mono> getClassificationByNameWithResponseAsync(Strin
 
     /**
      * Get the classification definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1381,9 +1373,8 @@ public Response getClassificationByNameWithResponse(String name, Req
 
     /**
      * Get the Entity definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1516,9 +1507,8 @@ public Mono> getEntityByIdWithResponseAsync(String guid, Re
 
     /**
      * Get the Entity definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1649,9 +1639,8 @@ public Response getEntityByIdWithResponse(String guid, RequestOption
 
     /**
      * Get the entity definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1784,9 +1773,8 @@ public Mono> getEntityByNameWithResponseAsync(String name,
 
     /**
      * Get the entity definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1917,9 +1905,8 @@ public Response getEntityByNameWithResponse(String name, RequestOpti
 
     /**
      * Get the enum definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2005,9 +1992,8 @@ public Mono> getEnumByIdWithResponseAsync(String guid, Requ
 
     /**
      * Get the enum definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2091,9 +2077,8 @@ public Response getEnumByIdWithResponse(String guid, RequestOptions
 
     /**
      * Get the enum definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2179,9 +2164,8 @@ public Mono> getEnumByNameWithResponseAsync(String name, Re
 
     /**
      * Get the enum definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2265,9 +2249,8 @@ public Response getEnumByNameWithResponse(String name, RequestOption
 
     /**
      * Get the relationship definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2382,9 +2365,8 @@ public Mono> getRelationshipByIdWithResponseAsync(String gu
 
     /**
      * Get the relationship definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2497,9 +2479,8 @@ public Response getRelationshipByIdWithResponse(String guid, Request
 
     /**
      * Get the relationship definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2615,9 +2596,8 @@ public Mono> getRelationshipByNameWithResponseAsync(String
 
     /**
      * Get the relationship definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2730,9 +2710,8 @@ public Response getRelationshipByNameWithResponse(String name, Reque
 
     /**
      * Get the struct definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2836,9 +2815,8 @@ public Mono> getStructByIdWithResponseAsync(String guid, Re
 
     /**
      * Get the struct definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2940,9 +2918,8 @@ public Response getStructByIdWithResponse(String guid, RequestOption
 
     /**
      * Get the struct definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3046,9 +3023,8 @@ public Mono> getStructByNameWithResponseAsync(String name,
 
     /**
      * Get the struct definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3150,9 +3126,8 @@ public Response getStructByNameWithResponse(String name, RequestOpti
 
     /**
      * Get the type definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3307,9 +3282,8 @@ public Mono> getByIdWithResponseAsync(String guid, RequestO
 
     /**
      * Get the type definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3462,9 +3436,8 @@ public Response getByIdWithResponse(String guid, RequestOptions requ
 
     /**
      * Get the type definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3619,9 +3592,8 @@ public Mono> getByNameWithResponseAsync(String name, Reques
 
     /**
      * Get the type definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3809,37 +3781,21 @@ public Response deleteWithResponse(String name, RequestOptions requestOpti
 
     /**
      * List all type definitions in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all + * typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: + * "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", + * "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -4137,37 +4093,21 @@ public Mono> getWithResponseAsync(RequestOptions requestOpt
 
     /**
      * List all type definitions in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all + * typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: + * "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", + * "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -4467,9 +4407,8 @@ public Response getWithResponse(RequestOptions requestOptions) {
      * Create all atlas type definitions in bulk, only new definitions will be
      * created.
      * Any changes to the existing definitions will be discarded.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -4750,9 +4689,9 @@ public Response getWithResponse(RequestOptions requestOptions) {
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -5054,9 +4993,8 @@ public Mono> batchCreateWithResponseAsync(BinaryData atlasT
      * Create all atlas type definitions in bulk, only new definitions will be
      * created.
      * Any changes to the existing definitions will be discarded.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -5337,9 +5275,9 @@ public Mono> batchCreateWithResponseAsync(BinaryData atlasT
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -5638,9 +5576,8 @@ public Response batchCreateWithResponse(BinaryData atlasTypesDef, Re
     /**
      * Update all types in bulk, changes detected in the type definitions would be
      * persisted.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -5921,9 +5858,9 @@ public Response batchCreateWithResponse(BinaryData atlasTypesDef, Re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -6224,9 +6161,8 @@ public Mono> batchUpdateWithResponseAsync(BinaryData atlasT
     /**
      * Update all types in bulk, changes detected in the type definitions would be
      * persisted.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -6507,9 +6443,9 @@ public Mono> batchUpdateWithResponseAsync(BinaryData atlasT
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -6807,9 +6743,8 @@ public Response batchUpdateWithResponse(BinaryData atlasTypesDef, Re
 
     /**
      * Delete API for all types in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -7108,9 +7043,8 @@ public Mono> batchDeleteWithResponseAsync(BinaryData atlasTypesDe
 
     /**
      * Delete API for all types in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -7408,37 +7342,21 @@ public Response batchDeleteWithResponse(BinaryData atlasTypesDef, RequestO
 
     /**
      * List all type definitions returned as a list of minimal information header.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all + * typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: + * "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", + * "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -7465,37 +7383,21 @@ public Mono> getHeadersWithResponseAsync(RequestOptions req
 
     /**
      * List all type definitions returned as a list of minimal information header.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all + * typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: + * "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", + * "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -7522,9 +7424,8 @@ public Response getHeadersWithResponse(RequestOptions requestOptions
 
     /**
      * Get the term template definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -7628,9 +7529,8 @@ public Mono> getTermTemplateByIdWithResponseAsync(String gu
 
     /**
      * Get the term template definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -7733,9 +7633,8 @@ public Response getTermTemplateByIdWithResponse(String guid, Request
 
     /**
      * Get the term template definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -7840,9 +7739,8 @@ public Mono> getTermTemplateByNameWithResponseAsync(String
 
     /**
      * Get the term template definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java
index 31930f51a3cf..8a53836b1548 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,96 +18,83 @@
  * class that captures details of a struct-attribute.
  */
 @Fluent
-public final class AtlasAttributeDef {
+public final class AtlasAttributeDef implements JsonSerializable {
     /*
      * single-valued attribute or multi-valued attribute.
      */
     @Generated
-    @JsonProperty(value = "cardinality")
     private CardinalityValue cardinality;
 
     /*
      * An array of constraints.
      */
     @Generated
-    @JsonProperty(value = "constraints")
     private List constraints;
 
     /*
      * The default value of the attribute.
      */
     @Generated
-    @JsonProperty(value = "defaultValue")
     private String defaultValue;
 
     /*
      * The description of the attribute.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Determines if it is included in notification.
      */
     @Generated
-    @JsonProperty(value = "includeInNotification")
     private Boolean includeInNotification;
 
     /*
      * Determines if it is indexable.
      */
     @Generated
-    @JsonProperty(value = "isIndexable")
     private Boolean isIndexable;
 
     /*
      * Determines if it is optional.
      */
     @Generated
-    @JsonProperty(value = "isOptional")
     private Boolean isOptional;
 
     /*
      * Determines if it unique.
      */
     @Generated
-    @JsonProperty(value = "isUnique")
     private Boolean isUnique;
 
     /*
      * The name of the attribute.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the attribute.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * The maximum count of the values.
      */
     @Generated
-    @JsonProperty(value = "valuesMaxCount")
     private Integer valuesMaxCount;
 
     /*
      * The minimum count of the values.
      */
     @Generated
-    @JsonProperty(value = "valuesMinCount")
     private Integer valuesMinCount;
 
     /**
@@ -398,4 +389,81 @@ public AtlasAttributeDef setValuesMinCount(Integer valuesMinCount) {
         this.valuesMinCount = valuesMinCount;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("cardinality", this.cardinality == null ? null : this.cardinality.toString());
+        jsonWriter.writeArrayField("constraints", this.constraints, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("defaultValue", this.defaultValue);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeBooleanField("includeInNotification", this.includeInNotification);
+        jsonWriter.writeBooleanField("isIndexable", this.isIndexable);
+        jsonWriter.writeBooleanField("isOptional", this.isOptional);
+        jsonWriter.writeBooleanField("isUnique", this.isUnique);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeNumberField("valuesMaxCount", this.valuesMaxCount);
+        jsonWriter.writeNumberField("valuesMinCount", this.valuesMinCount);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasAttributeDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasAttributeDef if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasAttributeDef.
+     */
+    @Generated
+    public static AtlasAttributeDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasAttributeDef deserializedAtlasAttributeDef = new AtlasAttributeDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("cardinality".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.cardinality = CardinalityValue.fromString(reader.getString());
+                } else if ("constraints".equals(fieldName)) {
+                    List constraints
+                        = reader.readArray(reader1 -> AtlasConstraintDef.fromJson(reader1));
+                    deserializedAtlasAttributeDef.constraints = constraints;
+                } else if ("defaultValue".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.defaultValue = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.description = reader.getString();
+                } else if ("includeInNotification".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.includeInNotification = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isIndexable".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.isIndexable = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isOptional".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.isOptional = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isUnique".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.isUnique = reader.getNullable(JsonReader::getBoolean);
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasAttributeDef.options = options;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.typeName = reader.getString();
+                } else if ("valuesMaxCount".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.valuesMaxCount = reader.getNullable(JsonReader::getInt);
+                } else if ("valuesMinCount".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.valuesMinCount = reader.getNullable(JsonReader::getInt);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasAttributeDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java
index fa0f719354b2..8575e770695a 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,110 +18,95 @@
  * class that captures details of a struct-type.
  */
 @Fluent
-public final class AtlasBusinessMetadataDef {
+public final class AtlasBusinessMetadataDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /**
@@ -456,4 +445,87 @@ public AtlasBusinessMetadataDef setAttributeDefs(List attribu
         this.attributeDefs = attributeDefs;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasBusinessMetadataDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasBusinessMetadataDef if the JsonReader was pointing to an instance of it, or null if
+     * it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasBusinessMetadataDef.
+     */
+    @Generated
+    public static AtlasBusinessMetadataDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasBusinessMetadataDef deserializedAtlasBusinessMetadataDef = new AtlasBusinessMetadataDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasBusinessMetadataDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasBusinessMetadataDef.attributeDefs = attributeDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasBusinessMetadataDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java
index 20fb948e7eed..02c3ec9f111f 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -15,33 +19,29 @@
  * exists only when associated with an entity.
  */
 @Fluent
-public final class AtlasClassification {
+public final class AtlasClassification implements JsonSerializable {
     /*
      * The attributes of the struct.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map attributes;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The GUID of the entity.
      */
     @Generated
-    @JsonProperty(value = "entityGuid")
     private String entityGuid;
 
     /*
@@ -49,21 +49,18 @@ public final class AtlasClassification {
      * removed.
      */
     @Generated
-    @JsonProperty(value = "entityStatus")
     private EntityStatus entityStatus;
 
     /*
      * Determines if propagations will be removed on entity deletion.
      */
     @Generated
-    @JsonProperty(value = "removePropagationsOnEntityDelete")
     private Boolean removePropagationsOnEntityDelete;
 
     /*
      * An array of time boundaries indicating validity periods.
      */
     @Generated
-    @JsonProperty(value = "validityPeriods")
     private List validityPeriods;
 
     /**
@@ -186,8 +183,7 @@ public AtlasClassification setEntityStatus(EntityStatus entityStatus) {
     }
 
     /**
-     * Get the removePropagationsOnEntityDelete property: Determines if propagations will be removed on entity
-     * deletion.
+     * Get the removePropagationsOnEntityDelete property: Determines if propagations will be removed on entity deletion.
      * 
      * @return the removePropagationsOnEntityDelete value.
      */
@@ -197,8 +193,7 @@ public Boolean isRemovePropagationsOnEntityDelete() {
     }
 
     /**
-     * Set the removePropagationsOnEntityDelete property: Determines if propagations will be removed on entity
-     * deletion.
+     * Set the removePropagationsOnEntityDelete property: Determines if propagations will be removed on entity deletion.
      * 
      * @param removePropagationsOnEntityDelete the removePropagationsOnEntityDelete value to set.
      * @return the AtlasClassification object itself.
@@ -230,4 +225,64 @@ public AtlasClassification setValidityPeriods(List validityPeriods
         this.validityPeriods = validityPeriods;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("attributes", this.attributes, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeStringField("entityGuid", this.entityGuid);
+        jsonWriter.writeStringField("entityStatus", this.entityStatus == null ? null : this.entityStatus.toString());
+        jsonWriter.writeBooleanField("removePropagationsOnEntityDelete", this.removePropagationsOnEntityDelete);
+        jsonWriter.writeArrayField("validityPeriods", this.validityPeriods,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasClassification from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasClassification if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasClassification.
+     */
+    @Generated
+    public static AtlasClassification fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasClassification deserializedAtlasClassification = new AtlasClassification();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("attributes".equals(fieldName)) {
+                    Map attributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasClassification.attributes = attributes;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasClassification.typeName = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasClassification.lastModifiedTS = reader.getString();
+                } else if ("entityGuid".equals(fieldName)) {
+                    deserializedAtlasClassification.entityGuid = reader.getString();
+                } else if ("entityStatus".equals(fieldName)) {
+                    deserializedAtlasClassification.entityStatus = EntityStatus.fromString(reader.getString());
+                } else if ("removePropagationsOnEntityDelete".equals(fieldName)) {
+                    deserializedAtlasClassification.removePropagationsOnEntityDelete
+                        = reader.getNullable(JsonReader::getBoolean);
+                } else if ("validityPeriods".equals(fieldName)) {
+                    List validityPeriods = reader.readArray(reader1 -> TimeBoundary.fromJson(reader1));
+                    deserializedAtlasClassification.validityPeriods = validityPeriods;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasClassification;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java
index d06734eae882..b96cb6ae9903 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,110 +18,95 @@
  * class that captures details of a classification-type.
  */
 @Fluent
-public final class AtlasClassificationDef {
+public final class AtlasClassificationDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /*
@@ -145,21 +134,18 @@ public final class AtlasClassificationDef {
      * 
      */
     @Generated
-    @JsonProperty(value = "entityTypes")
     private List entityTypes;
 
     /*
      * An array of sub types.
      */
     @Generated
-    @JsonProperty(value = "subTypes")
     private List subTypes;
 
     /*
      * An array of super types.
      */
     @Generated
-    @JsonProperty(value = "superTypes")
     private List superTypes;
 
     /**
@@ -604,4 +590,99 @@ public AtlasClassificationDef setSuperTypes(List superTypes) {
         this.superTypes = superTypes;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("entityTypes", this.entityTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("subTypes", this.subTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("superTypes", this.superTypes, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasClassificationDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasClassificationDef if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasClassificationDef.
+     */
+    @Generated
+    public static AtlasClassificationDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasClassificationDef deserializedAtlasClassificationDef = new AtlasClassificationDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasClassificationDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasClassificationDef.attributeDefs = attributeDefs;
+                } else if ("entityTypes".equals(fieldName)) {
+                    List entityTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasClassificationDef.entityTypes = entityTypes;
+                } else if ("subTypes".equals(fieldName)) {
+                    List subTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasClassificationDef.subTypes = subTypes;
+                } else if ("superTypes".equals(fieldName)) {
+                    List superTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasClassificationDef.superTypes = superTypes;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasClassificationDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassifications.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassifications.java
index 6e7c5dcd33d2..6971c5bb6179 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassifications.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassifications.java
@@ -6,54 +6,52 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * REST serialization friendly list.
  */
 @Immutable
-public final class AtlasClassifications {
+public final class AtlasClassifications implements JsonSerializable {
     /*
      * An array of objects.
      */
     @Generated
-    @JsonProperty(value = "list")
     private List list;
 
     /*
      * The size of the page.
      */
     @Generated
-    @JsonProperty(value = "pageSize")
     private Integer pageSize;
 
     /*
      * The sorted by field.
      */
     @Generated
-    @JsonProperty(value = "sortBy")
     private String sortBy;
 
     /*
      * to specify whether the result should be sorted? If yes, whether asc or desc.
      */
     @Generated
-    @JsonProperty(value = "sortType")
     private SortType sortType;
 
     /*
      * The start index of the page.
      */
     @Generated
-    @JsonProperty(value = "startIndex")
     private Integer startIndex;
 
     /*
      * The total count of items.
      */
     @Generated
-    @JsonProperty(value = "totalCount")
     private Integer totalCount;
 
     /**
@@ -122,4 +120,58 @@ public Integer getStartIndex() {
     public Integer getTotalCount() {
         return this.totalCount;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("list", this.list, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeNumberField("pageSize", this.pageSize);
+        jsonWriter.writeStringField("sortBy", this.sortBy);
+        jsonWriter.writeStringField("sortType", this.sortType == null ? null : this.sortType.toString());
+        jsonWriter.writeNumberField("startIndex", this.startIndex);
+        jsonWriter.writeNumberField("totalCount", this.totalCount);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasClassifications from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasClassifications if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasClassifications.
+     */
+    @Generated
+    public static AtlasClassifications fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasClassifications deserializedAtlasClassifications = new AtlasClassifications();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("list".equals(fieldName)) {
+                    List list = reader.readArray(reader1 -> reader1.readUntyped());
+                    deserializedAtlasClassifications.list = list;
+                } else if ("pageSize".equals(fieldName)) {
+                    deserializedAtlasClassifications.pageSize = reader.getNullable(JsonReader::getInt);
+                } else if ("sortBy".equals(fieldName)) {
+                    deserializedAtlasClassifications.sortBy = reader.getString();
+                } else if ("sortType".equals(fieldName)) {
+                    deserializedAtlasClassifications.sortType = SortType.fromString(reader.getString());
+                } else if ("startIndex".equals(fieldName)) {
+                    deserializedAtlasClassifications.startIndex = reader.getNullable(JsonReader::getInt);
+                } else if ("totalCount".equals(fieldName)) {
+                    deserializedAtlasClassifications.totalCount = reader.getNullable(JsonReader::getInt);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasClassifications;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasConstraintDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasConstraintDef.java
index b3691dcbe324..34ebdc66e75c 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasConstraintDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasConstraintDef.java
@@ -6,26 +6,28 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * class that captures details of a constraint.
  */
 @Fluent
-public final class AtlasConstraintDef {
+public final class AtlasConstraintDef implements JsonSerializable {
     /*
      * The parameters of the constraint definition.
      */
     @Generated
-    @JsonProperty(value = "params")
     private Map params;
 
     /*
      * The type of the constraint.
      */
     @Generated
-    @JsonProperty(value = "type")
     private String type;
 
     /**
@@ -78,4 +80,46 @@ public AtlasConstraintDef setType(String type) {
         this.type = type;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("params", this.params, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("type", this.type);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasConstraintDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasConstraintDef if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasConstraintDef.
+     */
+    @Generated
+    public static AtlasConstraintDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasConstraintDef deserializedAtlasConstraintDef = new AtlasConstraintDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("params".equals(fieldName)) {
+                    Map params = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasConstraintDef.params = params;
+                } else if ("type".equals(fieldName)) {
+                    deserializedAtlasConstraintDef.type = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasConstraintDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntitiesWithExtInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntitiesWithExtInfo.java
index e34fdc23f7e9..af028bf2b639 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntitiesWithExtInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntitiesWithExtInfo.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -15,19 +19,17 @@
  * hive_database.
  */
 @Fluent
-public final class AtlasEntitiesWithExtInfo {
+public final class AtlasEntitiesWithExtInfo implements JsonSerializable {
     /*
      * The referred entities.
      */
     @Generated
-    @JsonProperty(value = "referredEntities")
     private Map referredEntities;
 
     /*
      * An array of entities.
      */
     @Generated
-    @JsonProperty(value = "entities")
     private List entities;
 
     /**
@@ -80,4 +82,49 @@ public AtlasEntitiesWithExtInfo setEntities(List entities) {
         this.entities = entities;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("referredEntities", this.referredEntities,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("entities", this.entities, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntitiesWithExtInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntitiesWithExtInfo if the JsonReader was pointing to an instance of it, or null if
+     * it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntitiesWithExtInfo.
+     */
+    @Generated
+    public static AtlasEntitiesWithExtInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntitiesWithExtInfo deserializedAtlasEntitiesWithExtInfo = new AtlasEntitiesWithExtInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("referredEntities".equals(fieldName)) {
+                    Map referredEntities
+                        = reader.readMap(reader1 -> AtlasEntity.fromJson(reader1));
+                    deserializedAtlasEntitiesWithExtInfo.referredEntities = referredEntities;
+                } else if ("entities".equals(fieldName)) {
+                    List entities = reader.readArray(reader1 -> AtlasEntity.fromJson(reader1));
+                    deserializedAtlasEntitiesWithExtInfo.entities = entities;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntitiesWithExtInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java
index d58d745d5a4a..c758c1f8ad29 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,124 +18,107 @@
  * An instance of an entity - like hive_table, hive_database.
  */
 @Fluent
-public final class AtlasEntity {
+public final class AtlasEntity implements JsonSerializable {
     /*
      * The attributes of the struct.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map attributes;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * Business attributes
      */
     @Generated
-    @JsonProperty(value = "businessAttributes")
     private Map businessAttributes;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * Custom Attribute
      */
     @Generated
-    @JsonProperty(value = "customAttributes")
     private Map customAttributes;
 
     /*
      * The GUID of the entity.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The home ID of the entity.
      */
     @Generated
-    @JsonProperty(value = "homeId")
     private String homeId;
 
     /*
      * The collection ID of the entity.
      */
     @Generated
-    @JsonProperty(value = "collectionId", access = JsonProperty.Access.WRITE_ONLY)
     private String collectionId;
 
     /*
      * Whether it is a shell entity
      */
     @Generated
-    @JsonProperty(value = "isIncomplete")
     private Boolean isIncomplete;
 
     /*
      * labels
      */
     @Generated
-    @JsonProperty(value = "labels")
     private List labels;
 
     /*
      * An array of term assignment headers indicating the meanings of the entity.
      */
     @Generated
-    @JsonProperty(value = "meanings")
     private List meanings;
 
     /*
      * Used to record the provenance of an instance of an entity or relationship.
      */
     @Generated
-    @JsonProperty(value = "provenanceType")
     private Integer provenanceType;
 
     /*
      * Determines if there's a proxy.
      */
     @Generated
-    @JsonProperty(value = "proxy")
     private Boolean proxy;
 
     /*
      * The attributes of relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipAttributes")
     private Map relationshipAttributes;
 
     /*
@@ -139,35 +126,30 @@ public final class AtlasEntity {
      * removed.
      */
     @Generated
-    @JsonProperty(value = "status")
     private EntityStatus status;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the entity.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * The dictionary of contacts for entities. Key could be Expert or Owner.
      */
     @Generated
-    @JsonProperty(value = "contacts")
     private Map> contacts;
 
     /**
@@ -650,4 +632,120 @@ public AtlasEntity setContacts(Map> contacts) {
         this.contacts = contacts;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("attributes", this.attributes, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeMapField("businessAttributes", this.businessAttributes,
+            (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeMapField("customAttributes", this.customAttributes,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("homeId", this.homeId);
+        jsonWriter.writeBooleanField("isIncomplete", this.isIncomplete);
+        jsonWriter.writeArrayField("labels", this.labels, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("meanings", this.meanings, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeNumberField("provenanceType", this.provenanceType);
+        jsonWriter.writeBooleanField("proxy", this.proxy);
+        jsonWriter.writeMapField("relationshipAttributes", this.relationshipAttributes,
+            (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeMapField("contacts", this.contacts,
+            (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeJson(element1)));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntity from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntity if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntity.
+     */
+    @Generated
+    public static AtlasEntity fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntity deserializedAtlasEntity = new AtlasEntity();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("attributes".equals(fieldName)) {
+                    Map attributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasEntity.attributes = attributes;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasEntity.typeName = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasEntity.lastModifiedTS = reader.getString();
+                } else if ("businessAttributes".equals(fieldName)) {
+                    Map businessAttributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasEntity.businessAttributes = businessAttributes;
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasEntity.classifications = classifications;
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasEntity.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasEntity.createdBy = reader.getString();
+                } else if ("customAttributes".equals(fieldName)) {
+                    Map customAttributes = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasEntity.customAttributes = customAttributes;
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasEntity.guid = reader.getString();
+                } else if ("homeId".equals(fieldName)) {
+                    deserializedAtlasEntity.homeId = reader.getString();
+                } else if ("collectionId".equals(fieldName)) {
+                    deserializedAtlasEntity.collectionId = reader.getString();
+                } else if ("isIncomplete".equals(fieldName)) {
+                    deserializedAtlasEntity.isIncomplete = reader.getNullable(JsonReader::getBoolean);
+                } else if ("labels".equals(fieldName)) {
+                    List labels = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntity.labels = labels;
+                } else if ("meanings".equals(fieldName)) {
+                    List meanings
+                        = reader.readArray(reader1 -> AtlasTermAssignmentHeader.fromJson(reader1));
+                    deserializedAtlasEntity.meanings = meanings;
+                } else if ("provenanceType".equals(fieldName)) {
+                    deserializedAtlasEntity.provenanceType = reader.getNullable(JsonReader::getInt);
+                } else if ("proxy".equals(fieldName)) {
+                    deserializedAtlasEntity.proxy = reader.getNullable(JsonReader::getBoolean);
+                } else if ("relationshipAttributes".equals(fieldName)) {
+                    Map relationshipAttributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasEntity.relationshipAttributes = relationshipAttributes;
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasEntity.status = EntityStatus.fromString(reader.getString());
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasEntity.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasEntity.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasEntity.version = reader.getNullable(JsonReader::getLong);
+                } else if ("contacts".equals(fieldName)) {
+                    Map> contacts
+                        = reader.readMap(reader1 -> reader1.readArray(reader2 -> ContactInfo.fromJson(reader2)));
+                    deserializedAtlasEntity.contacts = contacts;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntity;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java
index 1a026e1395fd..558d730cff44 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,131 +18,113 @@
  * class that captures details of a entity-type.
  */
 @Fluent
-public final class AtlasEntityDef {
+public final class AtlasEntityDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /*
      * An array of sub types.
      */
     @Generated
-    @JsonProperty(value = "subTypes")
     private List subTypes;
 
     /*
      * An array of super types.
      */
     @Generated
-    @JsonProperty(value = "superTypes")
     private List superTypes;
 
     /*
      * An array of relationship attributes.
      */
     @Generated
-    @JsonProperty(value = "relationshipAttributeDefs")
     private List relationshipAttributeDefs;
 
     /**
@@ -543,4 +529,101 @@ public AtlasEntityDef setRelationshipAttributeDefs(List writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("subTypes", this.subTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("superTypes", this.superTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("relationshipAttributeDefs", this.relationshipAttributeDefs,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntityDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntityDef if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntityDef.
+     */
+    @Generated
+    public static AtlasEntityDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntityDef deserializedAtlasEntityDef = new AtlasEntityDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasEntityDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasEntityDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasEntityDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasEntityDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasEntityDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasEntityDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasEntityDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasEntityDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasEntityDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasEntityDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasEntityDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasEntityDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasEntityDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasEntityDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasEntityDef.attributeDefs = attributeDefs;
+                } else if ("subTypes".equals(fieldName)) {
+                    List subTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntityDef.subTypes = subTypes;
+                } else if ("superTypes".equals(fieldName)) {
+                    List superTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntityDef.superTypes = superTypes;
+                } else if ("relationshipAttributeDefs".equals(fieldName)) {
+                    List relationshipAttributeDefs
+                        = reader.readArray(reader1 -> AtlasRelationshipAttributeDef.fromJson(reader1));
+                    deserializedAtlasEntityDef.relationshipAttributeDefs = relationshipAttributeDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntityDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java
index 86dc71f9271e..d665eb6fb6cc 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,82 +18,71 @@
  * An instance of an entity - like hive_table, hive_database.
  */
 @Fluent
-public final class AtlasEntityHeader {
+public final class AtlasEntityHeader implements JsonSerializable {
     /*
      * The attributes of the struct.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map attributes;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of classification names.
      */
     @Generated
-    @JsonProperty(value = "classificationNames")
     private List classificationNames;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The GUID of the record.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * Whether it is a shell entity
      */
     @Generated
-    @JsonProperty(value = "isIncomplete")
     private Boolean isIncomplete;
 
     /*
      * labels
      */
     @Generated
-    @JsonProperty(value = "labels")
     private List labels;
 
     /*
      * An array of meanings.
      */
     @Generated
-    @JsonProperty(value = "meaningNames")
     private List meaningNames;
 
     /*
      * An array of term assignment headers.
      */
     @Generated
-    @JsonProperty(value = "meanings")
     private List meanings;
 
     /*
@@ -97,7 +90,6 @@ public final class AtlasEntityHeader {
      * removed.
      */
     @Generated
-    @JsonProperty(value = "status")
     private EntityStatus status;
 
     /**
@@ -372,4 +364,85 @@ public AtlasEntityHeader setStatus(EntityStatus status) {
         this.status = status;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("attributes", this.attributes, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("classificationNames", this.classificationNames,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeBooleanField("isIncomplete", this.isIncomplete);
+        jsonWriter.writeArrayField("labels", this.labels, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("meaningNames", this.meaningNames, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("meanings", this.meanings, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntityHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntityHeader if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntityHeader.
+     */
+    @Generated
+    public static AtlasEntityHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntityHeader deserializedAtlasEntityHeader = new AtlasEntityHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("attributes".equals(fieldName)) {
+                    Map attributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasEntityHeader.attributes = attributes;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.typeName = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.lastModifiedTS = reader.getString();
+                } else if ("classificationNames".equals(fieldName)) {
+                    List classificationNames = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntityHeader.classificationNames = classificationNames;
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasEntityHeader.classifications = classifications;
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.displayText = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.guid = reader.getString();
+                } else if ("isIncomplete".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.isIncomplete = reader.getNullable(JsonReader::getBoolean);
+                } else if ("labels".equals(fieldName)) {
+                    List labels = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntityHeader.labels = labels;
+                } else if ("meaningNames".equals(fieldName)) {
+                    List meaningNames = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntityHeader.meaningNames = meaningNames;
+                } else if ("meanings".equals(fieldName)) {
+                    List meanings
+                        = reader.readArray(reader1 -> AtlasTermAssignmentHeader.fromJson(reader1));
+                    deserializedAtlasEntityHeader.meanings = meanings;
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.status = EntityStatus.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntityHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeaders.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeaders.java
index 53654501cb48..386f752ef741 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeaders.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeaders.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * An instance of an entity header map.
  */
 @Fluent
-public final class AtlasEntityHeaders {
+public final class AtlasEntityHeaders implements JsonSerializable {
     /*
      * The description of the guid header map,
      */
     @Generated
-    @JsonProperty(value = "guidHeaderMap")
     private Map guidHeaderMap;
 
     /**
@@ -49,4 +52,44 @@ public AtlasEntityHeaders setGuidHeaderMap(Map guidHe
         this.guidHeaderMap = guidHeaderMap;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("guidHeaderMap", this.guidHeaderMap, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntityHeaders from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntityHeaders if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntityHeaders.
+     */
+    @Generated
+    public static AtlasEntityHeaders fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntityHeaders deserializedAtlasEntityHeaders = new AtlasEntityHeaders();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guidHeaderMap".equals(fieldName)) {
+                    Map guidHeaderMap
+                        = reader.readMap(reader1 -> AtlasEntityHeader.fromJson(reader1));
+                    deserializedAtlasEntityHeaders.guidHeaderMap = guidHeaderMap;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntityHeaders;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityWithExtInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityWithExtInfo.java
index f4c0ae6b99b5..eba5820615a0 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityWithExtInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityWithExtInfo.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
@@ -14,19 +18,17 @@
  * hive_database.
  */
 @Fluent
-public final class AtlasEntityWithExtInfo {
+public final class AtlasEntityWithExtInfo implements JsonSerializable {
     /*
      * The referred entities.
      */
     @Generated
-    @JsonProperty(value = "referredEntities")
     private Map referredEntities;
 
     /*
      * An instance of an entity - like hive_table, hive_database.
      */
     @Generated
-    @JsonProperty(value = "entity")
     private AtlasEntity entity;
 
     /**
@@ -79,4 +81,48 @@ public AtlasEntityWithExtInfo setEntity(AtlasEntity entity) {
         this.entity = entity;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("referredEntities", this.referredEntities,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("entity", this.entity);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntityWithExtInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntityWithExtInfo if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntityWithExtInfo.
+     */
+    @Generated
+    public static AtlasEntityWithExtInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntityWithExtInfo deserializedAtlasEntityWithExtInfo = new AtlasEntityWithExtInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("referredEntities".equals(fieldName)) {
+                    Map referredEntities
+                        = reader.readMap(reader1 -> AtlasEntity.fromJson(reader1));
+                    deserializedAtlasEntityWithExtInfo.referredEntities = referredEntities;
+                } else if ("entity".equals(fieldName)) {
+                    deserializedAtlasEntityWithExtInfo.entity = AtlasEntity.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntityWithExtInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java
index fd72c80348b2..e62ff3db7ea1 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,117 +18,101 @@
  * class that captures details of an enum-type.
  */
 @Fluent
-public final class AtlasEnumDef {
+public final class AtlasEnumDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The default value.
      */
     @Generated
-    @JsonProperty(value = "defaultValue")
     private String defaultValue;
 
     /*
      * An array of enum element definitions.
      */
     @Generated
-    @JsonProperty(value = "elementDefs")
     private List elementDefs;
 
     /**
@@ -485,4 +473,90 @@ public AtlasEnumDef setElementDefs(List elementDefs) {
         this.elementDefs = elementDefs;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeStringField("defaultValue", this.defaultValue);
+        jsonWriter.writeArrayField("elementDefs", this.elementDefs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEnumDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEnumDef if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEnumDef.
+     */
+    @Generated
+    public static AtlasEnumDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEnumDef deserializedAtlasEnumDef = new AtlasEnumDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasEnumDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasEnumDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasEnumDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasEnumDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasEnumDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasEnumDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasEnumDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasEnumDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasEnumDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasEnumDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasEnumDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasEnumDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasEnumDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasEnumDef.lastModifiedTS = reader.getString();
+                } else if ("defaultValue".equals(fieldName)) {
+                    deserializedAtlasEnumDef.defaultValue = reader.getString();
+                } else if ("elementDefs".equals(fieldName)) {
+                    List elementDefs
+                        = reader.readArray(reader1 -> AtlasEnumElementDef.fromJson(reader1));
+                    deserializedAtlasEnumDef.elementDefs = elementDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEnumDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java
index 99543f7e3294..13df43420901 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * class that captures details of an enum-element.
  */
 @Fluent
-public final class AtlasEnumElementDef {
+public final class AtlasEnumElementDef implements JsonSerializable {
     /*
      * The description of the enum element definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The ordinal of the enum element definition.
      */
     @Generated
-    @JsonProperty(value = "ordinal")
     private Integer ordinal;
 
     /*
      * The value of the enum element definition.
      */
     @Generated
-    @JsonProperty(value = "value")
     private String value;
 
     /**
@@ -106,4 +107,48 @@ public AtlasEnumElementDef setValue(String value) {
         this.value = value;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeNumberField("ordinal", this.ordinal);
+        jsonWriter.writeStringField("value", this.value);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEnumElementDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEnumElementDef if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEnumElementDef.
+     */
+    @Generated
+    public static AtlasEnumElementDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEnumElementDef deserializedAtlasEnumElementDef = new AtlasEnumElementDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("description".equals(fieldName)) {
+                    deserializedAtlasEnumElementDef.description = reader.getString();
+                } else if ("ordinal".equals(fieldName)) {
+                    deserializedAtlasEnumElementDef.ordinal = reader.getNullable(JsonReader::getInt);
+                } else if ("value".equals(fieldName)) {
+                    deserializedAtlasEnumElementDef.value = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEnumElementDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java
index 09813d2031b1..af37bd65f230 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java
@@ -6,117 +6,106 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The glossary object.
  */
 @Fluent
-public final class AtlasGlossary {
+public final class AtlasGlossary implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The long version description.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /*
      * The name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The short version of description.
      */
     @Generated
-    @JsonProperty(value = "shortDescription")
     private String shortDescription;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * An array of categories.
      */
     @Generated
-    @JsonProperty(value = "categories")
     private List categories;
 
     /*
      * The language of the glossary.
      */
     @Generated
-    @JsonProperty(value = "language")
     private String language;
 
     /*
      * An array of related term headers.
      */
     @Generated
-    @JsonProperty(value = "terms")
     private List terms;
 
     /*
      * The usage of the glossary.
      */
     @Generated
-    @JsonProperty(value = "usage")
     private String usage;
 
     /**
@@ -455,4 +444,91 @@ public AtlasGlossary setUsage(String usage) {
         this.usage = usage;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("shortDescription", this.shortDescription);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeArrayField("categories", this.categories, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("language", this.language);
+        jsonWriter.writeArrayField("terms", this.terms, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("usage", this.usage);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasGlossary from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasGlossary if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasGlossary.
+     */
+    @Generated
+    public static AtlasGlossary fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasGlossary deserializedAtlasGlossary = new AtlasGlossary();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasGlossary.guid = reader.getString();
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasGlossary.classifications = classifications;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedAtlasGlossary.longDescription = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasGlossary.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedAtlasGlossary.qualifiedName = reader.getString();
+                } else if ("shortDescription".equals(fieldName)) {
+                    deserializedAtlasGlossary.shortDescription = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasGlossary.lastModifiedTS = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasGlossary.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasGlossary.createdBy = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasGlossary.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasGlossary.updatedBy = reader.getString();
+                } else if ("categories".equals(fieldName)) {
+                    List categories
+                        = reader.readArray(reader1 -> AtlasRelatedCategoryHeader.fromJson(reader1));
+                    deserializedAtlasGlossary.categories = categories;
+                } else if ("language".equals(fieldName)) {
+                    deserializedAtlasGlossary.language = reader.getString();
+                } else if ("terms".equals(fieldName)) {
+                    List terms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossary.terms = terms;
+                } else if ("usage".equals(fieldName)) {
+                    deserializedAtlasGlossary.usage = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasGlossary;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java
index 459b150ca115..bb2c29f68802 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java
@@ -6,117 +6,106 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The glossary category.
  */
 @Fluent
-public final class AtlasGlossaryCategory {
+public final class AtlasGlossaryCategory implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The long version description.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /*
      * The name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The short version of description.
      */
     @Generated
-    @JsonProperty(value = "shortDescription")
     private String shortDescription;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The glossary header with basic information.
      */
     @Generated
-    @JsonProperty(value = "anchor")
     private AtlasGlossaryHeader anchor;
 
     /*
      * An array of children categories.
      */
     @Generated
-    @JsonProperty(value = "childrenCategories")
     private List childrenCategories;
 
     /*
      * The header of the related category.
      */
     @Generated
-    @JsonProperty(value = "parentCategory")
     private AtlasRelatedCategoryHeader parentCategory;
 
     /*
      * An array of related term headers.
      */
     @Generated
-    @JsonProperty(value = "terms")
     private List terms;
 
     /**
@@ -455,4 +444,92 @@ public AtlasGlossaryCategory setTerms(List terms) {
         this.terms = terms;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("shortDescription", this.shortDescription);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeJsonField("anchor", this.anchor);
+        jsonWriter.writeArrayField("childrenCategories", this.childrenCategories,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("parentCategory", this.parentCategory);
+        jsonWriter.writeArrayField("terms", this.terms, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasGlossaryCategory from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasGlossaryCategory if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasGlossaryCategory.
+     */
+    @Generated
+    public static AtlasGlossaryCategory fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasGlossaryCategory deserializedAtlasGlossaryCategory = new AtlasGlossaryCategory();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.guid = reader.getString();
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasGlossaryCategory.classifications = classifications;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.longDescription = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.qualifiedName = reader.getString();
+                } else if ("shortDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.shortDescription = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.lastModifiedTS = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.createdBy = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.updatedBy = reader.getString();
+                } else if ("anchor".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.anchor = AtlasGlossaryHeader.fromJson(reader);
+                } else if ("childrenCategories".equals(fieldName)) {
+                    List childrenCategories
+                        = reader.readArray(reader1 -> AtlasRelatedCategoryHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryCategory.childrenCategories = childrenCategories;
+                } else if ("parentCategory".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.parentCategory = AtlasRelatedCategoryHeader.fromJson(reader);
+                } else if ("terms".equals(fieldName)) {
+                    List terms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryCategory.terms = terms;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasGlossaryCategory;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java
index 394ad9d56b5d..c37bb47b8f21 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,124 +18,107 @@
  * The extended information of glossary.
  */
 @Immutable
-public final class AtlasGlossaryExtInfo {
+public final class AtlasGlossaryExtInfo implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The long version description.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /*
      * The name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The short version of description.
      */
     @Generated
-    @JsonProperty(value = "shortDescription")
     private String shortDescription;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * An array of categories.
      */
     @Generated
-    @JsonProperty(value = "categories")
     private List categories;
 
     /*
      * The language of the glossary.
      */
     @Generated
-    @JsonProperty(value = "language")
     private String language;
 
     /*
      * An array of related term headers.
      */
     @Generated
-    @JsonProperty(value = "terms")
     private List terms;
 
     /*
      * The usage of the glossary.
      */
     @Generated
-    @JsonProperty(value = "usage")
     private String usage;
 
     /*
      * The glossary category information.
      */
     @Generated
-    @JsonProperty(value = "categoryInfo")
     private Map categoryInfo;
 
     /*
      * The glossary term information.
      */
     @Generated
-    @JsonProperty(value = "termInfo")
     private Map termInfo;
 
     /**
@@ -310,4 +297,101 @@ public Map getCategoryInfo() {
     public Map getTermInfo() {
         return this.termInfo;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("shortDescription", this.shortDescription);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeArrayField("categories", this.categories, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("language", this.language);
+        jsonWriter.writeArrayField("terms", this.terms, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("usage", this.usage);
+        jsonWriter.writeMapField("categoryInfo", this.categoryInfo, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("termInfo", this.termInfo, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasGlossaryExtInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasGlossaryExtInfo if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasGlossaryExtInfo.
+     */
+    @Generated
+    public static AtlasGlossaryExtInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasGlossaryExtInfo deserializedAtlasGlossaryExtInfo = new AtlasGlossaryExtInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.guid = reader.getString();
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasGlossaryExtInfo.classifications = classifications;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.longDescription = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.qualifiedName = reader.getString();
+                } else if ("shortDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.shortDescription = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.lastModifiedTS = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.createdBy = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.updatedBy = reader.getString();
+                } else if ("categories".equals(fieldName)) {
+                    List categories
+                        = reader.readArray(reader1 -> AtlasRelatedCategoryHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryExtInfo.categories = categories;
+                } else if ("language".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.language = reader.getString();
+                } else if ("terms".equals(fieldName)) {
+                    List terms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryExtInfo.terms = terms;
+                } else if ("usage".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.usage = reader.getString();
+                } else if ("categoryInfo".equals(fieldName)) {
+                    Map categoryInfo
+                        = reader.readMap(reader1 -> AtlasGlossaryCategory.fromJson(reader1));
+                    deserializedAtlasGlossaryExtInfo.categoryInfo = categoryInfo;
+                } else if ("termInfo".equals(fieldName)) {
+                    Map termInfo
+                        = reader.readMap(reader1 -> AtlasGlossaryTerm.fromJson(reader1));
+                    deserializedAtlasGlossaryExtInfo.termInfo = termInfo;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasGlossaryExtInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryHeader.java
index 2e534c3aa4f8..7635009ae11e 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryHeader.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The glossary header with basic information.
  */
 @Fluent
-public final class AtlasGlossaryHeader {
+public final class AtlasGlossaryHeader implements JsonSerializable {
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The GUID of the glossary.
      */
     @Generated
-    @JsonProperty(value = "glossaryGuid")
     private String glossaryGuid;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationGuid")
     private String relationGuid;
 
     /**
@@ -106,4 +107,48 @@ public AtlasGlossaryHeader setRelationGuid(String relationGuid) {
         this.relationGuid = relationGuid;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("glossaryGuid", this.glossaryGuid);
+        jsonWriter.writeStringField("relationGuid", this.relationGuid);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasGlossaryHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasGlossaryHeader if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasGlossaryHeader.
+     */
+    @Generated
+    public static AtlasGlossaryHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasGlossaryHeader deserializedAtlasGlossaryHeader = new AtlasGlossaryHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("displayText".equals(fieldName)) {
+                    deserializedAtlasGlossaryHeader.displayText = reader.getString();
+                } else if ("glossaryGuid".equals(fieldName)) {
+                    deserializedAtlasGlossaryHeader.glossaryGuid = reader.getString();
+                } else if ("relationGuid".equals(fieldName)) {
+                    deserializedAtlasGlossaryHeader.relationGuid = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasGlossaryHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java
index 1439f25338e8..d4dc157b61b9 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,145 +18,125 @@
  * The glossary term.
  */
 @Fluent
-public final class AtlasGlossaryTerm {
+public final class AtlasGlossaryTerm implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The long version description.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /*
      * The name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The short version of description.
      */
     @Generated
-    @JsonProperty(value = "shortDescription")
     private String shortDescription;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The abbreviation of the term.
      */
     @Generated
-    @JsonProperty(value = "abbreviation")
     private String abbreviation;
 
     /*
      * The name of the template.
      */
     @Generated
-    @JsonProperty(value = "templateName")
     private List templateName;
 
     /*
      * The glossary header with basic information.
      */
     @Generated
-    @JsonProperty(value = "anchor")
     private AtlasGlossaryHeader anchor;
 
     /*
      * An array of related term headers as antonyms.
      */
     @Generated
-    @JsonProperty(value = "antonyms")
     private List antonyms;
 
     /*
      * Status of the AtlasGlossaryTerm
      */
     @Generated
-    @JsonProperty(value = "status")
     private TermStatus status;
 
     /*
      * The nick name of the term.
      */
     @Generated
-    @JsonProperty(value = "nickName")
     private String nickName;
 
     /*
      * The hierarchy information of the term.
      */
     @Generated
-    @JsonProperty(value = "hierarchyInfo")
     private List hierarchyInfo;
 
     /*
      * An array of resource link for term
      */
     @Generated
-    @JsonProperty(value = "resources")
     private List resources;
 
     /*
      * The dictionary of contacts for terms. Key could be Expert or Steward.
      */
     @Generated
-    @JsonProperty(value = "contacts")
     private Map> contacts;
 
     /*
@@ -161,119 +145,102 @@ public final class AtlasGlossaryTerm {
      * key of the first layer map is term template name.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map> attributes;
 
     /*
      * An array of related object IDs.
      */
     @Generated
-    @JsonProperty(value = "assignedEntities")
     private List assignedEntities;
 
     /*
      * An array of term categorization headers.
      */
     @Generated
-    @JsonProperty(value = "categories")
     private List categories;
 
     /*
      * An array of related term headers.
      */
     @Generated
-    @JsonProperty(value = "classifies")
     private List classifies;
 
     /*
      * An array of examples.
      */
     @Generated
-    @JsonProperty(value = "examples")
     private List examples;
 
     /*
      * An array of related term headers indicating the is-a relationship.
      */
     @Generated
-    @JsonProperty(value = "isA")
     private List isA;
 
     /*
      * An array of preferred related term headers.
      */
     @Generated
-    @JsonProperty(value = "preferredTerms")
     private List preferredTerms;
 
     /*
      * An array of related term headers that are preferred to.
      */
     @Generated
-    @JsonProperty(value = "preferredToTerms")
     private List preferredToTerms;
 
     /*
      * An array of related term headers that are replaced by.
      */
     @Generated
-    @JsonProperty(value = "replacedBy")
     private List replacedBy;
 
     /*
      * An array of related term headers for replacement.
      */
     @Generated
-    @JsonProperty(value = "replacementTerms")
     private List replacementTerms;
 
     /*
      * An array of related term headers for see also.
      */
     @Generated
-    @JsonProperty(value = "seeAlso")
     private List seeAlso;
 
     /*
      * An array of related term headers as synonyms.
      */
     @Generated
-    @JsonProperty(value = "synonyms")
     private List synonyms;
 
     /*
      * An array of translated related term headers.
      */
     @Generated
-    @JsonProperty(value = "translatedTerms")
     private List translatedTerms;
 
     /*
      * An array of related term headers for translation.
      */
     @Generated
-    @JsonProperty(value = "translationTerms")
     private List translationTerms;
 
     /*
      * The usage of the term.
      */
     @Generated
-    @JsonProperty(value = "usage")
     private String usage;
 
     /*
      * An array of related term headers as valid values.
      */
     @Generated
-    @JsonProperty(value = "validValues")
     private List validValues;
 
     /*
      * An array of related term headers as valid values for other records.
      */
     @Generated
-    @JsonProperty(value = "validValuesFor")
     private List validValuesFor;
 
     /**
@@ -1102,4 +1069,202 @@ public AtlasGlossaryTerm setValidValuesFor(List validVal
         this.validValuesFor = validValuesFor;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("shortDescription", this.shortDescription);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeStringField("abbreviation", this.abbreviation);
+        jsonWriter.writeArrayField("templateName", this.templateName,
+            (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeJsonField("anchor", this.anchor);
+        jsonWriter.writeArrayField("antonyms", this.antonyms, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeStringField("nickName", this.nickName);
+        jsonWriter.writeArrayField("hierarchyInfo", this.hierarchyInfo, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("resources", this.resources, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("contacts", this.contacts,
+            (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeJson(element1)));
+        jsonWriter.writeMapField("attributes", this.attributes,
+            (writer, element) -> writer.writeMap(element, (writer1, element1) -> writer1.writeUntyped(element1)));
+        jsonWriter.writeArrayField("assignedEntities", this.assignedEntities,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("categories", this.categories, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("classifies", this.classifies, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("examples", this.examples, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("isA", this.isA, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("preferredTerms", this.preferredTerms,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("preferredToTerms", this.preferredToTerms,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("replacedBy", this.replacedBy, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("replacementTerms", this.replacementTerms,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("seeAlso", this.seeAlso, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("synonyms", this.synonyms, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("translatedTerms", this.translatedTerms,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("translationTerms", this.translationTerms,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("usage", this.usage);
+        jsonWriter.writeArrayField("validValues", this.validValues, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("validValuesFor", this.validValuesFor,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasGlossaryTerm from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasGlossaryTerm if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasGlossaryTerm.
+     */
+    @Generated
+    public static AtlasGlossaryTerm fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasGlossaryTerm deserializedAtlasGlossaryTerm = new AtlasGlossaryTerm();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.guid = reader.getString();
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.classifications = classifications;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.longDescription = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.qualifiedName = reader.getString();
+                } else if ("shortDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.shortDescription = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.lastModifiedTS = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.createdBy = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.updatedBy = reader.getString();
+                } else if ("abbreviation".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.abbreviation = reader.getString();
+                } else if ("templateName".equals(fieldName)) {
+                    List templateName = reader.readArray(reader1 -> reader1.readUntyped());
+                    deserializedAtlasGlossaryTerm.templateName = templateName;
+                } else if ("anchor".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.anchor = AtlasGlossaryHeader.fromJson(reader);
+                } else if ("antonyms".equals(fieldName)) {
+                    List antonyms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.antonyms = antonyms;
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.status = TermStatus.fromString(reader.getString());
+                } else if ("nickName".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.nickName = reader.getString();
+                } else if ("hierarchyInfo".equals(fieldName)) {
+                    List hierarchyInfo
+                        = reader.readArray(reader1 -> PurviewObjectId.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.hierarchyInfo = hierarchyInfo;
+                } else if ("resources".equals(fieldName)) {
+                    List resources = reader.readArray(reader1 -> ResourceLink.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.resources = resources;
+                } else if ("contacts".equals(fieldName)) {
+                    Map> contacts
+                        = reader.readMap(reader1 -> reader1.readArray(reader2 -> ContactInfo.fromJson(reader2)));
+                    deserializedAtlasGlossaryTerm.contacts = contacts;
+                } else if ("attributes".equals(fieldName)) {
+                    Map> attributes
+                        = reader.readMap(reader1 -> reader1.readMap(reader2 -> reader2.readUntyped()));
+                    deserializedAtlasGlossaryTerm.attributes = attributes;
+                } else if ("assignedEntities".equals(fieldName)) {
+                    List assignedEntities
+                        = reader.readArray(reader1 -> AtlasRelatedObjectId.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.assignedEntities = assignedEntities;
+                } else if ("categories".equals(fieldName)) {
+                    List categories
+                        = reader.readArray(reader1 -> AtlasTermCategorizationHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.categories = categories;
+                } else if ("classifies".equals(fieldName)) {
+                    List classifies
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.classifies = classifies;
+                } else if ("examples".equals(fieldName)) {
+                    List examples = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasGlossaryTerm.examples = examples;
+                } else if ("isA".equals(fieldName)) {
+                    List isA
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.isA = isA;
+                } else if ("preferredTerms".equals(fieldName)) {
+                    List preferredTerms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.preferredTerms = preferredTerms;
+                } else if ("preferredToTerms".equals(fieldName)) {
+                    List preferredToTerms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.preferredToTerms = preferredToTerms;
+                } else if ("replacedBy".equals(fieldName)) {
+                    List replacedBy
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.replacedBy = replacedBy;
+                } else if ("replacementTerms".equals(fieldName)) {
+                    List replacementTerms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.replacementTerms = replacementTerms;
+                } else if ("seeAlso".equals(fieldName)) {
+                    List seeAlso
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.seeAlso = seeAlso;
+                } else if ("synonyms".equals(fieldName)) {
+                    List synonyms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.synonyms = synonyms;
+                } else if ("translatedTerms".equals(fieldName)) {
+                    List translatedTerms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.translatedTerms = translatedTerms;
+                } else if ("translationTerms".equals(fieldName)) {
+                    List translationTerms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.translationTerms = translationTerms;
+                } else if ("usage".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.usage = reader.getString();
+                } else if ("validValues".equals(fieldName)) {
+                    List validValues
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.validValues = validValues;
+                } else if ("validValuesFor".equals(fieldName)) {
+                    List validValuesFor
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.validValuesFor = validValuesFor;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasGlossaryTerm;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasLineageInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasLineageInfo.java
index f33fc44b70b2..81474f19c638 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasLineageInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasLineageInfo.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,68 +18,59 @@
  * The lineage information.
  */
 @Immutable
-public final class AtlasLineageInfo {
+public final class AtlasLineageInfo implements JsonSerializable {
     /*
      * The GUID of the base entity.
      */
     @Generated
-    @JsonProperty(value = "baseEntityGuid")
     private String baseEntityGuid;
 
     /*
      * The GUID entity map.
      */
     @Generated
-    @JsonProperty(value = "guidEntityMap")
     private Map guidEntityMap;
 
     /*
      * The entity count in specific direction.
      */
     @Generated
-    @JsonProperty(value = "widthCounts")
     private Map> widthCounts;
 
     /*
      * The depth of lineage.
      */
     @Generated
-    @JsonProperty(value = "lineageDepth")
     private Integer lineageDepth;
 
     /*
      * The width of lineage.
      */
     @Generated
-    @JsonProperty(value = "lineageWidth")
     private Integer lineageWidth;
 
     /*
      * The number of children node.
      */
     @Generated
-    @JsonProperty(value = "childrenCount")
     private Integer childrenCount;
 
     /*
      * The enum of lineage direction.
      */
     @Generated
-    @JsonProperty(value = "lineageDirection")
     private LineageDirection lineageDirection;
 
     /*
      * An array of parentRelations relations.
      */
     @Generated
-    @JsonProperty(value = "parentRelations")
     private List parentRelations;
 
     /*
      * An array of lineage relations.
      */
     @Generated
-    @JsonProperty(value = "relations")
     private List relations;
 
     /**
@@ -174,4 +169,76 @@ public List getParentRelations() {
     public List getRelations() {
         return this.relations;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("baseEntityGuid", this.baseEntityGuid);
+        jsonWriter.writeMapField("guidEntityMap", this.guidEntityMap, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("widthCounts", this.widthCounts,
+            (writer, element) -> writer.writeMap(element, (writer1, element1) -> writer1.writeUntyped(element1)));
+        jsonWriter.writeNumberField("lineageDepth", this.lineageDepth);
+        jsonWriter.writeNumberField("lineageWidth", this.lineageWidth);
+        jsonWriter.writeNumberField("childrenCount", this.childrenCount);
+        jsonWriter.writeStringField("lineageDirection",
+            this.lineageDirection == null ? null : this.lineageDirection.toString());
+        jsonWriter.writeArrayField("parentRelations", this.parentRelations,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("relations", this.relations, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasLineageInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasLineageInfo if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasLineageInfo.
+     */
+    @Generated
+    public static AtlasLineageInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasLineageInfo deserializedAtlasLineageInfo = new AtlasLineageInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("baseEntityGuid".equals(fieldName)) {
+                    deserializedAtlasLineageInfo.baseEntityGuid = reader.getString();
+                } else if ("guidEntityMap".equals(fieldName)) {
+                    Map guidEntityMap
+                        = reader.readMap(reader1 -> AtlasEntityHeader.fromJson(reader1));
+                    deserializedAtlasLineageInfo.guidEntityMap = guidEntityMap;
+                } else if ("widthCounts".equals(fieldName)) {
+                    Map> widthCounts
+                        = reader.readMap(reader1 -> reader1.readMap(reader2 -> reader2.readUntyped()));
+                    deserializedAtlasLineageInfo.widthCounts = widthCounts;
+                } else if ("lineageDepth".equals(fieldName)) {
+                    deserializedAtlasLineageInfo.lineageDepth = reader.getNullable(JsonReader::getInt);
+                } else if ("lineageWidth".equals(fieldName)) {
+                    deserializedAtlasLineageInfo.lineageWidth = reader.getNullable(JsonReader::getInt);
+                } else if ("childrenCount".equals(fieldName)) {
+                    deserializedAtlasLineageInfo.childrenCount = reader.getNullable(JsonReader::getInt);
+                } else if ("lineageDirection".equals(fieldName)) {
+                    deserializedAtlasLineageInfo.lineageDirection = LineageDirection.fromString(reader.getString());
+                } else if ("parentRelations".equals(fieldName)) {
+                    List parentRelations
+                        = reader.readArray(reader1 -> ParentRelation.fromJson(reader1));
+                    deserializedAtlasLineageInfo.parentRelations = parentRelations;
+                } else if ("relations".equals(fieldName)) {
+                    List relations = reader.readArray(reader1 -> LineageRelation.fromJson(reader1));
+                    deserializedAtlasLineageInfo.relations = relations;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasLineageInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasObjectId.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasObjectId.java
index 117ada8ea012..0cc9de0bcdf1 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasObjectId.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasObjectId.java
@@ -6,33 +6,34 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Reference to an object-instance of a type - like entity.
  */
 @Fluent
-public final class AtlasObjectId {
+public final class AtlasObjectId implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * The unique attributes of the object.
      */
     @Generated
-    @JsonProperty(value = "uniqueAttributes")
     private Map uniqueAttributes;
 
     /**
@@ -107,4 +108,50 @@ public AtlasObjectId setUniqueAttributes(Map uniqueAttributes) {
         this.uniqueAttributes = uniqueAttributes;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeMapField("uniqueAttributes", this.uniqueAttributes,
+            (writer, element) -> writer.writeUntyped(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasObjectId from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasObjectId if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasObjectId.
+     */
+    @Generated
+    public static AtlasObjectId fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasObjectId deserializedAtlasObjectId = new AtlasObjectId();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasObjectId.guid = reader.getString();
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasObjectId.typeName = reader.getString();
+                } else if ("uniqueAttributes".equals(fieldName)) {
+                    Map uniqueAttributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasObjectId.uniqueAttributes = uniqueAttributes;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasObjectId;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedCategoryHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedCategoryHeader.java
index fc86521ecb00..70557cd89277 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedCategoryHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedCategoryHeader.java
@@ -6,46 +6,45 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The header of the related category.
  */
 @Fluent
-public final class AtlasRelatedCategoryHeader {
+public final class AtlasRelatedCategoryHeader implements JsonSerializable {
     /*
      * The GUID of the category.
      */
     @Generated
-    @JsonProperty(value = "categoryGuid")
     private String categoryGuid;
 
     /*
      * The description of the category header.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The GUID of the parent category.
      */
     @Generated
-    @JsonProperty(value = "parentCategoryGuid")
     private String parentCategoryGuid;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationGuid")
     private String relationGuid;
 
     /**
@@ -164,4 +163,54 @@ public AtlasRelatedCategoryHeader setRelationGuid(String relationGuid) {
         this.relationGuid = relationGuid;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("categoryGuid", this.categoryGuid);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("parentCategoryGuid", this.parentCategoryGuid);
+        jsonWriter.writeStringField("relationGuid", this.relationGuid);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelatedCategoryHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelatedCategoryHeader if the JsonReader was pointing to an instance of it, or null if
+     * it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelatedCategoryHeader.
+     */
+    @Generated
+    public static AtlasRelatedCategoryHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelatedCategoryHeader deserializedAtlasRelatedCategoryHeader = new AtlasRelatedCategoryHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("categoryGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedCategoryHeader.categoryGuid = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasRelatedCategoryHeader.description = reader.getString();
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasRelatedCategoryHeader.displayText = reader.getString();
+                } else if ("parentCategoryGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedCategoryHeader.parentCategoryGuid = reader.getString();
+                } else if ("relationGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedCategoryHeader.relationGuid = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelatedCategoryHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java
index e0e7e09268d2..947021014a10 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
@@ -14,33 +18,29 @@
  * attribute values.
  */
 @Fluent
-public final class AtlasRelatedObjectId {
+public final class AtlasRelatedObjectId implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * The unique attributes of the object.
      */
     @Generated
-    @JsonProperty(value = "uniqueAttributes")
     private Map uniqueAttributes;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
@@ -48,14 +48,12 @@ public final class AtlasRelatedObjectId {
      * removed.
      */
     @Generated
-    @JsonProperty(value = "entityStatus")
     private EntityStatus entityStatus;
 
     /*
      * Relationship type
      */
     @Generated
-    @JsonProperty(value = "relationshipType")
     private String relationshipType;
 
     /*
@@ -63,21 +61,18 @@ public final class AtlasRelatedObjectId {
      * AtlasEntity, AtlasClassification.
      */
     @Generated
-    @JsonProperty(value = "relationshipAttributes")
     private AtlasStruct relationshipAttributes;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipGuid")
     private String relationshipGuid;
 
     /*
      * The enum of relationship status.
      */
     @Generated
-    @JsonProperty(value = "relationshipStatus")
     private StatusAtlasRelationship relationshipStatus;
 
     /**
@@ -290,4 +285,70 @@ public AtlasRelatedObjectId setRelationshipStatus(StatusAtlasRelationship relati
         this.relationshipStatus = relationshipStatus;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeMapField("uniqueAttributes", this.uniqueAttributes,
+            (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("entityStatus", this.entityStatus == null ? null : this.entityStatus.toString());
+        jsonWriter.writeStringField("relationshipType", this.relationshipType);
+        jsonWriter.writeJsonField("relationshipAttributes", this.relationshipAttributes);
+        jsonWriter.writeStringField("relationshipGuid", this.relationshipGuid);
+        jsonWriter.writeStringField("relationshipStatus",
+            this.relationshipStatus == null ? null : this.relationshipStatus.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelatedObjectId from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelatedObjectId if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelatedObjectId.
+     */
+    @Generated
+    public static AtlasRelatedObjectId fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelatedObjectId deserializedAtlasRelatedObjectId = new AtlasRelatedObjectId();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.guid = reader.getString();
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.typeName = reader.getString();
+                } else if ("uniqueAttributes".equals(fieldName)) {
+                    Map uniqueAttributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasRelatedObjectId.uniqueAttributes = uniqueAttributes;
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.displayText = reader.getString();
+                } else if ("entityStatus".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.entityStatus = EntityStatus.fromString(reader.getString());
+                } else if ("relationshipType".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.relationshipType = reader.getString();
+                } else if ("relationshipAttributes".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.relationshipAttributes = AtlasStruct.fromJson(reader);
+                } else if ("relationshipGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.relationshipGuid = reader.getString();
+                } else if ("relationshipStatus".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.relationshipStatus
+                        = StatusAtlasRelationship.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelatedObjectId;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedTermHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedTermHeader.java
index 9712c4e31cb3..84daf7ae112d 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedTermHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedTermHeader.java
@@ -6,60 +6,57 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The header of the related term.
  */
 @Fluent
-public final class AtlasRelatedTermHeader {
+public final class AtlasRelatedTermHeader implements JsonSerializable {
     /*
      * The description of the related term.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The expression of the term.
      */
     @Generated
-    @JsonProperty(value = "expression")
     private String expression;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationGuid")
     private String relationGuid;
 
     /*
      * The status of term relationship.
      */
     @Generated
-    @JsonProperty(value = "status")
     private AtlasTermRelationshipStatus status;
 
     /*
      * The steward of the term.
      */
     @Generated
-    @JsonProperty(value = "steward")
     private String steward;
 
     /*
      * The GUID of the term.
      */
     @Generated
-    @JsonProperty(value = "termGuid")
     private String termGuid;
 
     /**
@@ -222,4 +219,61 @@ public AtlasRelatedTermHeader setTermGuid(String termGuid) {
         this.termGuid = termGuid;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("expression", this.expression);
+        jsonWriter.writeStringField("relationGuid", this.relationGuid);
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeStringField("steward", this.steward);
+        jsonWriter.writeStringField("termGuid", this.termGuid);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelatedTermHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelatedTermHeader if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelatedTermHeader.
+     */
+    @Generated
+    public static AtlasRelatedTermHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelatedTermHeader deserializedAtlasRelatedTermHeader = new AtlasRelatedTermHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("description".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.description = reader.getString();
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.displayText = reader.getString();
+                } else if ("expression".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.expression = reader.getString();
+                } else if ("relationGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.relationGuid = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.status
+                        = AtlasTermRelationshipStatus.fromString(reader.getString());
+                } else if ("steward".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.steward = reader.getString();
+                } else if ("termGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.termGuid = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelatedTermHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java
index f3dfa026a7eb..0d93ac4b270c 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java
@@ -6,117 +6,106 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Atlas relationship instance.
  */
 @Fluent
-public final class AtlasRelationship {
+public final class AtlasRelationship implements JsonSerializable {
     /*
      * The attributes of the struct.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map attributes;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * Reference to an object-instance of a type - like entity.
      */
     @Generated
-    @JsonProperty(value = "end1")
     private AtlasObjectId end1;
 
     /*
      * Reference to an object-instance of a type - like entity.
      */
     @Generated
-    @JsonProperty(value = "end2")
     private AtlasObjectId end2;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The home ID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "homeId")
     private String homeId;
 
     /*
      * The label of the relationship.
      */
     @Generated
-    @JsonProperty(value = "label")
     private String label;
 
     /*
      * Used to record the provenance of an instance of an entity or relationship
      */
     @Generated
-    @JsonProperty(value = "provenanceType")
     private Integer provenanceType;
 
     /*
      * The enum of relationship status.
      */
     @Generated
-    @JsonProperty(value = "status")
     private StatusAtlasRelationship status;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the relationship.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /**
@@ -455,4 +444,85 @@ public AtlasRelationship setVersion(Long version) {
         this.version = version;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("attributes", this.attributes, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("end1", this.end1);
+        jsonWriter.writeJsonField("end2", this.end2);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("homeId", this.homeId);
+        jsonWriter.writeStringField("label", this.label);
+        jsonWriter.writeNumberField("provenanceType", this.provenanceType);
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelationship from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelationship if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelationship.
+     */
+    @Generated
+    public static AtlasRelationship fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelationship deserializedAtlasRelationship = new AtlasRelationship();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("attributes".equals(fieldName)) {
+                    Map attributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasRelationship.attributes = attributes;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasRelationship.typeName = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasRelationship.lastModifiedTS = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasRelationship.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasRelationship.createdBy = reader.getString();
+                } else if ("end1".equals(fieldName)) {
+                    deserializedAtlasRelationship.end1 = AtlasObjectId.fromJson(reader);
+                } else if ("end2".equals(fieldName)) {
+                    deserializedAtlasRelationship.end2 = AtlasObjectId.fromJson(reader);
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasRelationship.guid = reader.getString();
+                } else if ("homeId".equals(fieldName)) {
+                    deserializedAtlasRelationship.homeId = reader.getString();
+                } else if ("label".equals(fieldName)) {
+                    deserializedAtlasRelationship.label = reader.getString();
+                } else if ("provenanceType".equals(fieldName)) {
+                    deserializedAtlasRelationship.provenanceType = reader.getNullable(JsonReader::getInt);
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasRelationship.status = StatusAtlasRelationship.fromString(reader.getString());
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasRelationship.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasRelationship.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasRelationship.version = reader.getNullable(JsonReader::getLong);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelationship;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java
index ce7c80133683..d1f24d978fb8 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -17,110 +21,95 @@
  * it is the container end of the relationship.
  */
 @Fluent
-public final class AtlasRelationshipAttributeDef {
+public final class AtlasRelationshipAttributeDef implements JsonSerializable {
     /*
      * single-valued attribute or multi-valued attribute.
      */
     @Generated
-    @JsonProperty(value = "cardinality")
     private CardinalityValue cardinality;
 
     /*
      * An array of constraints.
      */
     @Generated
-    @JsonProperty(value = "constraints")
     private List constraints;
 
     /*
      * The default value of the attribute.
      */
     @Generated
-    @JsonProperty(value = "defaultValue")
     private String defaultValue;
 
     /*
      * The description of the attribute.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Determines if it is included in notification.
      */
     @Generated
-    @JsonProperty(value = "includeInNotification")
     private Boolean includeInNotification;
 
     /*
      * Determines if it is indexable.
      */
     @Generated
-    @JsonProperty(value = "isIndexable")
     private Boolean isIndexable;
 
     /*
      * Determines if it is optional.
      */
     @Generated
-    @JsonProperty(value = "isOptional")
     private Boolean isOptional;
 
     /*
      * Determines if it unique.
      */
     @Generated
-    @JsonProperty(value = "isUnique")
     private Boolean isUnique;
 
     /*
      * The name of the attribute.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the attribute.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * The maximum count of the values.
      */
     @Generated
-    @JsonProperty(value = "valuesMaxCount")
     private Integer valuesMaxCount;
 
     /*
      * The minimum count of the values.
      */
     @Generated
-    @JsonProperty(value = "valuesMinCount")
     private Integer valuesMinCount;
 
     /*
      * Determines if it is a legacy attribute.
      */
     @Generated
-    @JsonProperty(value = "isLegacyAttribute")
     private Boolean isLegacyAttribute;
 
     /*
      * The name of the relationship type.
      */
     @Generated
-    @JsonProperty(value = "relationshipTypeName")
     private String relationshipTypeName;
 
     /**
@@ -459,4 +448,91 @@ public AtlasRelationshipAttributeDef setRelationshipTypeName(String relationship
         this.relationshipTypeName = relationshipTypeName;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("cardinality", this.cardinality == null ? null : this.cardinality.toString());
+        jsonWriter.writeArrayField("constraints", this.constraints, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("defaultValue", this.defaultValue);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeBooleanField("includeInNotification", this.includeInNotification);
+        jsonWriter.writeBooleanField("isIndexable", this.isIndexable);
+        jsonWriter.writeBooleanField("isOptional", this.isOptional);
+        jsonWriter.writeBooleanField("isUnique", this.isUnique);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeNumberField("valuesMaxCount", this.valuesMaxCount);
+        jsonWriter.writeNumberField("valuesMinCount", this.valuesMinCount);
+        jsonWriter.writeBooleanField("isLegacyAttribute", this.isLegacyAttribute);
+        jsonWriter.writeStringField("relationshipTypeName", this.relationshipTypeName);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelationshipAttributeDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelationshipAttributeDef if the JsonReader was pointing to an instance of it, or null
+     * if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelationshipAttributeDef.
+     */
+    @Generated
+    public static AtlasRelationshipAttributeDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelationshipAttributeDef deserializedAtlasRelationshipAttributeDef
+                = new AtlasRelationshipAttributeDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("cardinality".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.cardinality
+                        = CardinalityValue.fromString(reader.getString());
+                } else if ("constraints".equals(fieldName)) {
+                    List constraints
+                        = reader.readArray(reader1 -> AtlasConstraintDef.fromJson(reader1));
+                    deserializedAtlasRelationshipAttributeDef.constraints = constraints;
+                } else if ("defaultValue".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.defaultValue = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.description = reader.getString();
+                } else if ("includeInNotification".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.includeInNotification
+                        = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isIndexable".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.isIndexable = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isOptional".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.isOptional = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isUnique".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.isUnique = reader.getNullable(JsonReader::getBoolean);
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasRelationshipAttributeDef.options = options;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.typeName = reader.getString();
+                } else if ("valuesMaxCount".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.valuesMaxCount = reader.getNullable(JsonReader::getInt);
+                } else if ("valuesMinCount".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.valuesMinCount = reader.getNullable(JsonReader::getInt);
+                } else if ("isLegacyAttribute".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.isLegacyAttribute
+                        = reader.getNullable(JsonReader::getBoolean);
+                } else if ("relationshipTypeName".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.relationshipTypeName = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelationshipAttributeDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java
index 29420109910f..b7a5378a9bdd 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -51,151 +55,132 @@
  * the entity instances.
  */
 @Fluent
-public final class AtlasRelationshipDef {
+public final class AtlasRelationshipDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /*
      * The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      */
     @Generated
-    @JsonProperty(value = "endDef1")
     private AtlasRelationshipEndDef endDef1;
 
     /*
      * The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      */
     @Generated
-    @JsonProperty(value = "endDef2")
     private AtlasRelationshipEndDef endDef2;
 
     /*
      * The Relationship category determines the style of relationship around
      * containment and lifecycle.
      * UML terminology is used for the values.
-     * ASSOCIATION is a relationship with no containment.
+     * ASSOCIATION is a relationship with no containment. 
      * COMPOSITION and AGGREGATION are containment relationships.
-     * The difference being in the lifecycles of the container and its children.
+     * The difference being in the lifecycles of the container and its children. 
      * In the COMPOSITION case, the children cannot exist without the container.
      * For AGGREGATION, the life cycles of the container and children are totally independent.
      */
     @Generated
-    @JsonProperty(value = "relationshipCategory")
     private RelationshipCategory relationshipCategory;
 
     /*
      * The label of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipLabel")
     private String relationshipLabel;
 
     /**
@@ -648,4 +633,101 @@ public AtlasRelationshipDef setRelationshipLabel(String relationshipLabel) {
         this.relationshipLabel = relationshipLabel;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("endDef1", this.endDef1);
+        jsonWriter.writeJsonField("endDef2", this.endDef2);
+        jsonWriter.writeStringField("relationshipCategory",
+            this.relationshipCategory == null ? null : this.relationshipCategory.toString());
+        jsonWriter.writeStringField("relationshipLabel", this.relationshipLabel);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelationshipDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelationshipDef if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelationshipDef.
+     */
+    @Generated
+    public static AtlasRelationshipDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelationshipDef deserializedAtlasRelationshipDef = new AtlasRelationshipDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasRelationshipDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasRelationshipDef.attributeDefs = attributeDefs;
+                } else if ("endDef1".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.endDef1 = AtlasRelationshipEndDef.fromJson(reader);
+                } else if ("endDef2".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.endDef2 = AtlasRelationshipEndDef.fromJson(reader);
+                } else if ("relationshipCategory".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.relationshipCategory
+                        = RelationshipCategory.fromString(reader.getString());
+                } else if ("relationshipLabel".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.relationshipLabel = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelationshipDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java
index ed3fb6af245a..09beed3a6efd 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The relationshipEndDef represents an end of the relationship. The end of the
@@ -15,47 +19,41 @@
  * it is the container end of the relationship.
  */
 @Fluent
-public final class AtlasRelationshipEndDef {
+public final class AtlasRelationshipEndDef implements JsonSerializable {
     /*
      * single-valued attribute or multi-valued attribute.
      */
     @Generated
-    @JsonProperty(value = "cardinality")
     private CardinalityValue cardinality;
 
     /*
      * The description of the relationship end definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Determines if it is container.
      */
     @Generated
-    @JsonProperty(value = "isContainer")
     private Boolean isContainer;
 
     /*
      * Determines if it is a legacy attribute.
      */
     @Generated
-    @JsonProperty(value = "isLegacyAttribute")
     private Boolean isLegacyAttribute;
 
     /*
      * The name of the relationship end definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The type of the relationship end.
      */
     @Generated
-    @JsonProperty(value = "type")
     private String type;
 
     /**
@@ -196,4 +194,57 @@ public AtlasRelationshipEndDef setType(String type) {
         this.type = type;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("cardinality", this.cardinality == null ? null : this.cardinality.toString());
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeBooleanField("isContainer", this.isContainer);
+        jsonWriter.writeBooleanField("isLegacyAttribute", this.isLegacyAttribute);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("type", this.type);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelationshipEndDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelationshipEndDef if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelationshipEndDef.
+     */
+    @Generated
+    public static AtlasRelationshipEndDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelationshipEndDef deserializedAtlasRelationshipEndDef = new AtlasRelationshipEndDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("cardinality".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.cardinality = CardinalityValue.fromString(reader.getString());
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.description = reader.getString();
+                } else if ("isContainer".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.isContainer = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isLegacyAttribute".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.isLegacyAttribute = reader.getNullable(JsonReader::getBoolean);
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.name = reader.getString();
+                } else if ("type".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.type = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelationshipEndDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipWithExtInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipWithExtInfo.java
index 400e199b0d9f..c482226f2975 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipWithExtInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipWithExtInfo.java
@@ -6,26 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * The relationship with extended information.
  */
 @Immutable
-public final class AtlasRelationshipWithExtInfo {
+public final class AtlasRelationshipWithExtInfo implements JsonSerializable {
     /*
      * The referred entity header.
      */
     @Generated
-    @JsonProperty(value = "referredEntities")
     private Map referredEntities;
 
     /*
      * Atlas relationship instance.
      */
     @Generated
-    @JsonProperty(value = "relationship")
     private AtlasRelationship relationship;
 
     /**
@@ -54,4 +56,48 @@ public Map getReferredEntities() {
     public AtlasRelationship getRelationship() {
         return this.relationship;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("referredEntities", this.referredEntities,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("relationship", this.relationship);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelationshipWithExtInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelationshipWithExtInfo if the JsonReader was pointing to an instance of it, or null
+     * if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelationshipWithExtInfo.
+     */
+    @Generated
+    public static AtlasRelationshipWithExtInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelationshipWithExtInfo deserializedAtlasRelationshipWithExtInfo = new AtlasRelationshipWithExtInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("referredEntities".equals(fieldName)) {
+                    Map referredEntities
+                        = reader.readMap(reader1 -> AtlasEntityHeader.fromJson(reader1));
+                    deserializedAtlasRelationshipWithExtInfo.referredEntities = referredEntities;
+                } else if ("relationship".equals(fieldName)) {
+                    deserializedAtlasRelationshipWithExtInfo.relationship = AtlasRelationship.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelationshipWithExtInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStruct.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStruct.java
index fbdab722d129..2161bb69669e 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStruct.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStruct.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
@@ -14,26 +18,23 @@
  * AtlasEntity, AtlasClassification.
  */
 @Fluent
-public final class AtlasStruct {
+public final class AtlasStruct implements JsonSerializable {
     /*
      * The attributes of the struct.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map attributes;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /**
@@ -108,4 +109,49 @@ public AtlasStruct setLastModifiedTS(String lastModifiedTS) {
         this.lastModifiedTS = lastModifiedTS;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("attributes", this.attributes, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasStruct from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasStruct if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasStruct.
+     */
+    @Generated
+    public static AtlasStruct fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasStruct deserializedAtlasStruct = new AtlasStruct();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("attributes".equals(fieldName)) {
+                    Map attributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasStruct.attributes = attributes;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasStruct.typeName = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasStruct.lastModifiedTS = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasStruct;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java
index 34ab01c96b58..ff45496f35d4 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,110 +18,95 @@
  * class that captures details of a struct-type.
  */
 @Fluent
-public final class AtlasStructDef {
+public final class AtlasStructDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /**
@@ -456,4 +445,87 @@ public AtlasStructDef setAttributeDefs(List attributeDefs) {
         this.attributeDefs = attributeDefs;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasStructDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasStructDef if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasStructDef.
+     */
+    @Generated
+    public static AtlasStructDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasStructDef deserializedAtlasStructDef = new AtlasStructDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasStructDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasStructDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasStructDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasStructDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasStructDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasStructDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasStructDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasStructDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasStructDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasStructDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasStructDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasStructDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasStructDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasStructDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasStructDef.attributeDefs = attributeDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasStructDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentHeader.java
index e5263fa4a362..058ece577837 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentHeader.java
@@ -6,74 +6,69 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The header for term assignment.
  */
 @Fluent
-public final class AtlasTermAssignmentHeader {
+public final class AtlasTermAssignmentHeader implements JsonSerializable {
     /*
      * The confidence of the term assignment.
      */
     @Generated
-    @JsonProperty(value = "confidence")
     private Integer confidence;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The description of the term assignment.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The expression of the term assignment.
      */
     @Generated
-    @JsonProperty(value = "expression")
     private String expression;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationGuid")
     private String relationGuid;
 
     /*
      * The status of terms assignment.
      */
     @Generated
-    @JsonProperty(value = "status")
     private AtlasTermAssignmentStatus status;
 
     /*
      * The steward of the term.
      */
     @Generated
-    @JsonProperty(value = "steward")
     private String steward;
 
     /*
      * The GUID of the term.
      */
     @Generated
-    @JsonProperty(value = "termGuid")
     private String termGuid;
 
     /**
@@ -280,4 +275,67 @@ public AtlasTermAssignmentHeader setTermGuid(String termGuid) {
         this.termGuid = termGuid;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("confidence", this.confidence);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("expression", this.expression);
+        jsonWriter.writeStringField("relationGuid", this.relationGuid);
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeStringField("steward", this.steward);
+        jsonWriter.writeStringField("termGuid", this.termGuid);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasTermAssignmentHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasTermAssignmentHeader if the JsonReader was pointing to an instance of it, or null if
+     * it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasTermAssignmentHeader.
+     */
+    @Generated
+    public static AtlasTermAssignmentHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasTermAssignmentHeader deserializedAtlasTermAssignmentHeader = new AtlasTermAssignmentHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("confidence".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.confidence = reader.getNullable(JsonReader::getInt);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.createdBy = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.description = reader.getString();
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.displayText = reader.getString();
+                } else if ("expression".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.expression = reader.getString();
+                } else if ("relationGuid".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.relationGuid = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.status
+                        = AtlasTermAssignmentStatus.fromString(reader.getString());
+                } else if ("steward".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.steward = reader.getString();
+                } else if ("termGuid".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.termGuid = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasTermAssignmentHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java
index 52e314da8500..48e0b9d78f09 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -72,7 +71,6 @@ public AtlasTermAssignmentStatus() {
      * @return the corresponding AtlasTermAssignmentStatus.
      */
     @Generated
-    @JsonCreator
     public static AtlasTermAssignmentStatus fromString(String name) {
         return fromString(name, AtlasTermAssignmentStatus.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermCategorizationHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermCategorizationHeader.java
index ff1c38d4f681..c17115423bb8 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermCategorizationHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermCategorizationHeader.java
@@ -6,46 +6,45 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The basic information for term categorization.
  */
 @Fluent
-public final class AtlasTermCategorizationHeader {
+public final class AtlasTermCategorizationHeader implements JsonSerializable {
     /*
      * The GUID of the category.
      */
     @Generated
-    @JsonProperty(value = "categoryGuid")
     private String categoryGuid;
 
     /*
      * The description of the record.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationGuid")
     private String relationGuid;
 
     /*
      * The status of term relationship.
      */
     @Generated
-    @JsonProperty(value = "status")
     private AtlasTermRelationshipStatus status;
 
     /**
@@ -164,4 +163,56 @@ public AtlasTermCategorizationHeader setStatus(AtlasTermRelationshipStatus statu
         this.status = status;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("categoryGuid", this.categoryGuid);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("relationGuid", this.relationGuid);
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasTermCategorizationHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasTermCategorizationHeader if the JsonReader was pointing to an instance of it, or null
+     * if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasTermCategorizationHeader.
+     */
+    @Generated
+    public static AtlasTermCategorizationHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasTermCategorizationHeader deserializedAtlasTermCategorizationHeader
+                = new AtlasTermCategorizationHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("categoryGuid".equals(fieldName)) {
+                    deserializedAtlasTermCategorizationHeader.categoryGuid = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasTermCategorizationHeader.description = reader.getString();
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasTermCategorizationHeader.displayText = reader.getString();
+                } else if ("relationGuid".equals(fieldName)) {
+                    deserializedAtlasTermCategorizationHeader.relationGuid = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasTermCategorizationHeader.status
+                        = AtlasTermRelationshipStatus.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasTermCategorizationHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermRelationshipStatus.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermRelationshipStatus.java
index b0562345144c..a396086f56de 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermRelationshipStatus.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermRelationshipStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -60,7 +59,6 @@ public AtlasTermRelationshipStatus() {
      * @return the corresponding AtlasTermRelationshipStatus.
      */
     @Generated
-    @JsonCreator
     public static AtlasTermRelationshipStatus fromString(String name) {
         return fromString(name, AtlasTermRelationshipStatus.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java
index 1d7e7d18f997..1979f593663e 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,103 +18,89 @@
  * The definitions of type.
  */
 @Immutable
-public final class AtlasTypeDef {
+public final class AtlasTypeDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
@@ -138,62 +128,54 @@ public final class AtlasTypeDef {
      * 
      */
     @Generated
-    @JsonProperty(value = "entityTypes")
     private List entityTypes;
 
     /*
      * An array of sub types.
      */
     @Generated
-    @JsonProperty(value = "subTypes")
     private List subTypes;
 
     /*
      * An array of super types.
      */
     @Generated
-    @JsonProperty(value = "superTypes")
     private List superTypes;
 
     /*
      * An array of relationship attributes.
      */
     @Generated
-    @JsonProperty(value = "relationshipAttributeDefs")
     private List relationshipAttributeDefs;
 
     /*
      * The default value.
      */
     @Generated
-    @JsonProperty(value = "defaultValue")
     private String defaultValue;
 
     /*
      * An array of enum element definitions.
      */
     @Generated
-    @JsonProperty(value = "elementDefs")
     private List elementDefs;
 
     /*
      * The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      */
     @Generated
-    @JsonProperty(value = "endDef1")
     private AtlasRelationshipEndDef endDef1;
 
     /*
      * The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      */
     @Generated
-    @JsonProperty(value = "endDef2")
     private AtlasRelationshipEndDef endDef2;
 
     /*
@@ -201,29 +183,26 @@ public final class AtlasTypeDef {
      * containment and lifecycle.
      * UML terminology is used for the values.
      * 
-     * ASSOCIATION is a relationship with no containment.
+     * ASSOCIATION is a relationship with no containment. 
      * COMPOSITION and AGGREGATION are containment relationships.
      * 
-     * The difference being in the lifecycles of the container and its children.
-     * In the COMPOSITION case, the children cannot exist without the container.
+     * The difference being in the lifecycles of the container and its children. 
+     * In the COMPOSITION case, the children cannot exist without the container. 
      * For AGGREGATION, the life cycles of the container and children are totally independent.
      */
     @Generated
-    @JsonProperty(value = "relationshipCategory")
     private RelationshipCategory relationshipCategory;
 
     /*
      * The label of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipLabel")
     private String relationshipLabel;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /**
@@ -517,4 +496,126 @@ public String getRelationshipLabel() {
     public List getAttributeDefs() {
         return this.attributeDefs;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("entityTypes", this.entityTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("subTypes", this.subTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("superTypes", this.superTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("relationshipAttributeDefs", this.relationshipAttributeDefs,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("defaultValue", this.defaultValue);
+        jsonWriter.writeArrayField("elementDefs", this.elementDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("endDef1", this.endDef1);
+        jsonWriter.writeJsonField("endDef2", this.endDef2);
+        jsonWriter.writeStringField("relationshipCategory",
+            this.relationshipCategory == null ? null : this.relationshipCategory.toString());
+        jsonWriter.writeStringField("relationshipLabel", this.relationshipLabel);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasTypeDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasTypeDef if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasTypeDef.
+     */
+    @Generated
+    public static AtlasTypeDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasTypeDef deserializedAtlasTypeDef = new AtlasTypeDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasTypeDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasTypeDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasTypeDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasTypeDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasTypeDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasTypeDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasTypeDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasTypeDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasTypeDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasTypeDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasTypeDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasTypeDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasTypeDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasTypeDef.lastModifiedTS = reader.getString();
+                } else if ("entityTypes".equals(fieldName)) {
+                    List entityTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasTypeDef.entityTypes = entityTypes;
+                } else if ("subTypes".equals(fieldName)) {
+                    List subTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasTypeDef.subTypes = subTypes;
+                } else if ("superTypes".equals(fieldName)) {
+                    List superTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasTypeDef.superTypes = superTypes;
+                } else if ("relationshipAttributeDefs".equals(fieldName)) {
+                    List relationshipAttributeDefs
+                        = reader.readArray(reader1 -> AtlasRelationshipAttributeDef.fromJson(reader1));
+                    deserializedAtlasTypeDef.relationshipAttributeDefs = relationshipAttributeDefs;
+                } else if ("defaultValue".equals(fieldName)) {
+                    deserializedAtlasTypeDef.defaultValue = reader.getString();
+                } else if ("elementDefs".equals(fieldName)) {
+                    List elementDefs
+                        = reader.readArray(reader1 -> AtlasEnumElementDef.fromJson(reader1));
+                    deserializedAtlasTypeDef.elementDefs = elementDefs;
+                } else if ("endDef1".equals(fieldName)) {
+                    deserializedAtlasTypeDef.endDef1 = AtlasRelationshipEndDef.fromJson(reader);
+                } else if ("endDef2".equals(fieldName)) {
+                    deserializedAtlasTypeDef.endDef2 = AtlasRelationshipEndDef.fromJson(reader);
+                } else if ("relationshipCategory".equals(fieldName)) {
+                    deserializedAtlasTypeDef.relationshipCategory = RelationshipCategory.fromString(reader.getString());
+                } else if ("relationshipLabel".equals(fieldName)) {
+                    deserializedAtlasTypeDef.relationshipLabel = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasTypeDef.attributeDefs = attributeDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasTypeDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDefHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDefHeader.java
index 34cd050ef63e..1f6e4b7c5972 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDefHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDefHeader.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The basic information of the type definition.
  */
 @Immutable
-public final class AtlasTypeDefHeader {
+public final class AtlasTypeDefHeader implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /**
@@ -70,4 +71,48 @@ public String getGuid() {
     public String getName() {
         return this.name;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasTypeDefHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasTypeDefHeader if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasTypeDefHeader.
+     */
+    @Generated
+    public static AtlasTypeDefHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasTypeDefHeader deserializedAtlasTypeDefHeader = new AtlasTypeDefHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasTypeDefHeader.category = TypeCategory.fromString(reader.getString());
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasTypeDefHeader.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasTypeDefHeader.name = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasTypeDefHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypesDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypesDef.java
index f75b2e10fe7b..c04253e46aed 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypesDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypesDef.java
@@ -6,61 +6,58 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The definitions of types.
  */
 @Fluent
-public final class AtlasTypesDef {
+public final class AtlasTypesDef implements JsonSerializable {
     /*
      * businessMetadataDefs
      */
     @Generated
-    @JsonProperty(value = "businessMetadataDefs")
     private List businessMetadataDefs;
 
     /*
      * An array of classification definitions.
      */
     @Generated
-    @JsonProperty(value = "classificationDefs")
     private List classificationDefs;
 
     /*
      * An array of entity definitions.
      */
     @Generated
-    @JsonProperty(value = "entityDefs")
     private List entityDefs;
 
     /*
      * An array of enum definitions.
      */
     @Generated
-    @JsonProperty(value = "enumDefs")
     private List enumDefs;
 
     /*
      * An array of relationship definitions.
      */
     @Generated
-    @JsonProperty(value = "relationshipDefs")
     private List relationshipDefs;
 
     /*
      * An array of struct definitions.
      */
     @Generated
-    @JsonProperty(value = "structDefs")
     private List structDefs;
 
     /*
      * An array of term template definitions.
      */
     @Generated
-    @JsonProperty(value = "termTemplateDefs")
     private List termTemplateDefs;
 
     /**
@@ -223,4 +220,75 @@ public AtlasTypesDef setTermTemplateDefs(List termTemplateDefs)
         this.termTemplateDefs = termTemplateDefs;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("businessMetadataDefs", this.businessMetadataDefs,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("classificationDefs", this.classificationDefs,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("entityDefs", this.entityDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("enumDefs", this.enumDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("relationshipDefs", this.relationshipDefs,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("structDefs", this.structDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("termTemplateDefs", this.termTemplateDefs,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasTypesDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasTypesDef if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasTypesDef.
+     */
+    @Generated
+    public static AtlasTypesDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasTypesDef deserializedAtlasTypesDef = new AtlasTypesDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("businessMetadataDefs".equals(fieldName)) {
+                    List businessMetadataDefs
+                        = reader.readArray(reader1 -> AtlasBusinessMetadataDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.businessMetadataDefs = businessMetadataDefs;
+                } else if ("classificationDefs".equals(fieldName)) {
+                    List classificationDefs
+                        = reader.readArray(reader1 -> AtlasClassificationDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.classificationDefs = classificationDefs;
+                } else if ("entityDefs".equals(fieldName)) {
+                    List entityDefs = reader.readArray(reader1 -> AtlasEntityDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.entityDefs = entityDefs;
+                } else if ("enumDefs".equals(fieldName)) {
+                    List enumDefs = reader.readArray(reader1 -> AtlasEnumDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.enumDefs = enumDefs;
+                } else if ("relationshipDefs".equals(fieldName)) {
+                    List relationshipDefs
+                        = reader.readArray(reader1 -> AtlasRelationshipDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.relationshipDefs = relationshipDefs;
+                } else if ("structDefs".equals(fieldName)) {
+                    List structDefs = reader.readArray(reader1 -> AtlasStructDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.structDefs = structDefs;
+                } else if ("termTemplateDefs".equals(fieldName)) {
+                    List termTemplateDefs
+                        = reader.readArray(reader1 -> TermTemplateDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.termTemplateDefs = termTemplateDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasTypesDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteOptions.java
index e66aafd55363..66ab7a9237bc 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteOptions.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The payload of autocomplete request.
  */
 @Fluent
-public final class AutoCompleteOptions {
+public final class AutoCompleteOptions implements JsonSerializable {
     /*
      * The keywords applied to all fields that support autocomplete operation. It must
      * be at least 1 character, and no more than 100 characters.
      */
     @Generated
-    @JsonProperty(value = "keywords")
     private String keywords;
 
     /*
@@ -26,14 +29,12 @@ public final class AutoCompleteOptions {
      * The value must be a number between 1 and 100.
      */
     @Generated
-    @JsonProperty(value = "limit")
     private Integer limit;
 
     /*
      * The filter for the autocomplete request.
      */
     @Generated
-    @JsonProperty(value = "filter")
     private Object filter;
 
     /**
@@ -112,4 +113,48 @@ public AutoCompleteOptions setFilter(Object filter) {
         this.filter = filter;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("keywords", this.keywords);
+        jsonWriter.writeNumberField("limit", this.limit);
+        jsonWriter.writeUntypedField("filter", this.filter);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AutoCompleteOptions from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AutoCompleteOptions if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AutoCompleteOptions.
+     */
+    @Generated
+    public static AutoCompleteOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AutoCompleteOptions deserializedAutoCompleteOptions = new AutoCompleteOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("keywords".equals(fieldName)) {
+                    deserializedAutoCompleteOptions.keywords = reader.getString();
+                } else if ("limit".equals(fieldName)) {
+                    deserializedAutoCompleteOptions.limit = reader.getNullable(JsonReader::getInt);
+                } else if ("filter".equals(fieldName)) {
+                    deserializedAutoCompleteOptions.filter = reader.readUntyped();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAutoCompleteOptions;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResult.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResult.java
index 5873227d5f30..f56cf26d47a5 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResult.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResult.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The result of the autocomplete request.
  */
 @Immutable
-public final class AutoCompleteResult {
+public final class AutoCompleteResult implements JsonSerializable {
     /*
      * The result value
      */
     @Generated
-    @JsonProperty(value = "value")
     private List value;
 
     /**
@@ -37,4 +40,44 @@ private AutoCompleteResult() {
     public List getValue() {
         return this.value;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AutoCompleteResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AutoCompleteResult if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AutoCompleteResult.
+     */
+    @Generated
+    public static AutoCompleteResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AutoCompleteResult deserializedAutoCompleteResult = new AutoCompleteResult();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("value".equals(fieldName)) {
+                    List value
+                        = reader.readArray(reader1 -> AutoCompleteResultValue.fromJson(reader1));
+                    deserializedAutoCompleteResult.value = value;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAutoCompleteResult;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResultValue.java
index 7f110d8012e3..8ae1427ff752 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResultValue.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The value item of the autocomplete suggest.
  */
 @Immutable
-public final class AutoCompleteResultValue {
+public final class AutoCompleteResultValue implements JsonSerializable {
     /*
      * The completed term or phrase.
      */
     @Generated
-    @JsonProperty(value = "text")
     private String text;
 
     /*
      * The completed search query text.
      */
     @Generated
-    @JsonProperty(value = "queryPlusText")
     private String queryPlusText;
 
     /**
@@ -53,4 +55,45 @@ public String getText() {
     public String getQueryPlusText() {
         return this.queryPlusText;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", this.text);
+        jsonWriter.writeStringField("queryPlusText", this.queryPlusText);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AutoCompleteResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AutoCompleteResultValue if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AutoCompleteResultValue.
+     */
+    @Generated
+    public static AutoCompleteResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AutoCompleteResultValue deserializedAutoCompleteResultValue = new AutoCompleteResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("text".equals(fieldName)) {
+                    deserializedAutoCompleteResultValue.text = reader.getString();
+                } else if ("queryPlusText".equals(fieldName)) {
+                    deserializedAutoCompleteResultValue.queryPlusText = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAutoCompleteResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResult.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResult.java
index aeac6057137b..2301d8235c67 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResult.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResult.java
@@ -6,26 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Bulk import result.
  */
 @Immutable
-public final class BulkImportResult {
+public final class BulkImportResult implements JsonSerializable {
     /*
      * failed importInfoList
      */
     @Generated
-    @JsonProperty(value = "failedImportInfoList")
     private List failedImportInfoList;
 
     /*
      * successful importInfoList
      */
     @Generated
-    @JsonProperty(value = "successImportInfoList")
     private List successImportInfoList;
 
     /**
@@ -54,4 +56,49 @@ public List getFailedImportInfoList() {
     public List getSuccessImportInfoList() {
         return this.successImportInfoList;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("failedImportInfoList", this.failedImportInfoList,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("successImportInfoList", this.successImportInfoList,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of BulkImportResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of BulkImportResult if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the BulkImportResult.
+     */
+    @Generated
+    public static BulkImportResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            BulkImportResult deserializedBulkImportResult = new BulkImportResult();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("failedImportInfoList".equals(fieldName)) {
+                    List failedImportInfoList = reader.readArray(reader1 -> ImportInfo.fromJson(reader1));
+                    deserializedBulkImportResult.failedImportInfoList = failedImportInfoList;
+                } else if ("successImportInfoList".equals(fieldName)) {
+                    List successImportInfoList = reader.readArray(reader1 -> ImportInfo.fromJson(reader1));
+                    deserializedBulkImportResult.successImportInfoList = successImportInfoList;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedBulkImportResult;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessAttributeUpdateBehavior.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessAttributeUpdateBehavior.java
index cd435ebc6bbe..5e1da2e40878 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessAttributeUpdateBehavior.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessAttributeUpdateBehavior.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public BusinessAttributeUpdateBehavior() {
      * @return the corresponding BusinessAttributeUpdateBehavior.
      */
     @Generated
-    @JsonCreator
     public static BusinessAttributeUpdateBehavior fromString(String name) {
         return fromString(name, BusinessAttributeUpdateBehavior.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessMetadataOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessMetadataOptions.java
index 61c5b5d65d5a..4d45895a90b5 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessMetadataOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessMetadataOptions.java
@@ -16,7 +16,7 @@ public final class BusinessMetadataOptions {
      * InputStream of file
      */
     @Generated
-    private FileDetails file;
+    private final FileDetails file;
 
     /**
      * Creates an instance of BusinessMetadataOptions class.
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/CardinalityValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/CardinalityValue.java
index 4c4562ca89ba..f89497a460fd 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/CardinalityValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/CardinalityValue.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public CardinalityValue() {
      * @return the corresponding CardinalityValue.
      */
     @Generated
-    @JsonCreator
     public static CardinalityValue fromString(String name) {
         return fromString(name, CardinalityValue.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateOptions.java
index 0e9e03f21666..d42eab1a60dc 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateOptions.java
@@ -6,27 +6,29 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The request payload for classification association.
  */
 @Fluent
-public final class ClassificationAssociateOptions {
+public final class ClassificationAssociateOptions implements JsonSerializable {
     /*
      * An instance of a classification; it doesn't have an identity, this object
      * exists only when associated with an entity.
      */
     @Generated
-    @JsonProperty(value = "classification")
     private AtlasClassification classification;
 
     /*
      * The GUID of the entity.
      */
     @Generated
-    @JsonProperty(value = "entityGuids")
     private List entityGuids;
 
     /**
@@ -81,4 +83,47 @@ public ClassificationAssociateOptions setEntityGuids(List entityGuids) {
         this.entityGuids = entityGuids;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeJsonField("classification", this.classification);
+        jsonWriter.writeArrayField("entityGuids", this.entityGuids, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ClassificationAssociateOptions from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ClassificationAssociateOptions if the JsonReader was pointing to an instance of it, or
+     * null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ClassificationAssociateOptions.
+     */
+    @Generated
+    public static ClassificationAssociateOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ClassificationAssociateOptions deserializedClassificationAssociateOptions
+                = new ClassificationAssociateOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("classification".equals(fieldName)) {
+                    deserializedClassificationAssociateOptions.classification = AtlasClassification.fromJson(reader);
+                } else if ("entityGuids".equals(fieldName)) {
+                    List entityGuids = reader.readArray(reader1 -> reader1.getString());
+                    deserializedClassificationAssociateOptions.entityGuids = entityGuids;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedClassificationAssociateOptions;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactInfo.java
index 58ff3f638c1e..c0f82d7b93b2 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactInfo.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * ContactInfo.
  */
 @Fluent
-public final class ContactInfo {
+public final class ContactInfo implements JsonSerializable {
     /*
      * Azure Active Directory object Id.
      */
     @Generated
-    @JsonProperty(value = "id")
     private String id;
 
     /*
      * additional information to describe this contact.
      */
     @Generated
-    @JsonProperty(value = "info")
     private String info;
 
     /**
@@ -77,4 +79,45 @@ public ContactInfo setInfo(String info) {
         this.info = info;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("info", this.info);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ContactInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ContactInfo if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ContactInfo.
+     */
+    @Generated
+    public static ContactInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ContactInfo deserializedContactInfo = new ContactInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("id".equals(fieldName)) {
+                    deserializedContactInfo.id = reader.getString();
+                } else if ("info".equals(fieldName)) {
+                    deserializedContactInfo.info = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedContactInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactSearchResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactSearchResultValue.java
index 94147092d290..d56605bf44d0 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactSearchResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactSearchResultValue.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The contact in the search and suggest result.
  */
 @Immutable
-public final class ContactSearchResultValue {
+public final class ContactSearchResultValue implements JsonSerializable {
     /*
      * The GUID of the contact.
      */
     @Generated
-    @JsonProperty(value = "id")
     private String id;
 
     /*
      * The description of the contact.
      */
     @Generated
-    @JsonProperty(value = "info")
     private String info;
 
     /*
@@ -32,7 +34,6 @@ public final class ContactSearchResultValue {
      * Expert or Steward for a glossary term.
      */
     @Generated
-    @JsonProperty(value = "contactType")
     private String contactType;
 
     /**
@@ -72,4 +73,48 @@ public String getInfo() {
     public String getContactType() {
         return this.contactType;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("info", this.info);
+        jsonWriter.writeStringField("contactType", this.contactType);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ContactSearchResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ContactSearchResultValue if the JsonReader was pointing to an instance of it, or null if
+     * it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ContactSearchResultValue.
+     */
+    @Generated
+    public static ContactSearchResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ContactSearchResultValue deserializedContactSearchResultValue = new ContactSearchResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("id".equals(fieldName)) {
+                    deserializedContactSearchResultValue.id = reader.getString();
+                } else if ("info".equals(fieldName)) {
+                    deserializedContactSearchResultValue.info = reader.getString();
+                } else if ("contactType".equals(fieldName)) {
+                    deserializedContactSearchResultValue.contactType = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedContactSearchResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/DateFormat.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/DateFormat.java
index 6da1936ff73c..6f2b65e6ab06 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/DateFormat.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/DateFormat.java
@@ -6,75 +6,70 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The date format.
  */
 @Fluent
-public final class DateFormat {
+public final class DateFormat implements JsonSerializable {
     /*
      * An array of available locales.
      */
     @Generated
-    @JsonProperty(value = "availableLocales")
     private List availableLocales;
 
     /*
      * Calendar
      */
     @Generated
-    @JsonProperty(value = "calendar")
     private Double calendar;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateInstance")
     private DateFormat dateInstance;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateTimeInstance")
     private DateFormat dateTimeInstance;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "instance")
     private DateFormat instance;
 
     /*
      * Determines the leniency of the date format.
      */
     @Generated
-    @JsonProperty(value = "lenient")
     private Boolean lenient;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "numberFormat")
     private NumberFormat numberFormat;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "timeInstance")
     private DateFormat timeInstance;
 
     /*
      * The timezone information.
      */
     @Generated
-    @JsonProperty(value = "timeZone")
     private TimeZone timeZone;
 
     /**
@@ -281,4 +276,68 @@ public DateFormat setTimeZone(TimeZone timeZone) {
         this.timeZone = timeZone;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("availableLocales", this.availableLocales,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeNumberField("calendar", this.calendar);
+        jsonWriter.writeJsonField("dateInstance", this.dateInstance);
+        jsonWriter.writeJsonField("dateTimeInstance", this.dateTimeInstance);
+        jsonWriter.writeJsonField("instance", this.instance);
+        jsonWriter.writeBooleanField("lenient", this.lenient);
+        jsonWriter.writeJsonField("numberFormat", this.numberFormat);
+        jsonWriter.writeJsonField("timeInstance", this.timeInstance);
+        jsonWriter.writeJsonField("timeZone", this.timeZone);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DateFormat from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DateFormat if the JsonReader was pointing to an instance of it, or null if it was pointing
+     * to JSON null.
+     * @throws IOException If an error occurs while reading the DateFormat.
+     */
+    @Generated
+    public static DateFormat fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DateFormat deserializedDateFormat = new DateFormat();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("availableLocales".equals(fieldName)) {
+                    List availableLocales = reader.readArray(reader1 -> reader1.getString());
+                    deserializedDateFormat.availableLocales = availableLocales;
+                } else if ("calendar".equals(fieldName)) {
+                    deserializedDateFormat.calendar = reader.getNullable(JsonReader::getDouble);
+                } else if ("dateInstance".equals(fieldName)) {
+                    deserializedDateFormat.dateInstance = DateFormat.fromJson(reader);
+                } else if ("dateTimeInstance".equals(fieldName)) {
+                    deserializedDateFormat.dateTimeInstance = DateFormat.fromJson(reader);
+                } else if ("instance".equals(fieldName)) {
+                    deserializedDateFormat.instance = DateFormat.fromJson(reader);
+                } else if ("lenient".equals(fieldName)) {
+                    deserializedDateFormat.lenient = reader.getNullable(JsonReader::getBoolean);
+                } else if ("numberFormat".equals(fieldName)) {
+                    deserializedDateFormat.numberFormat = NumberFormat.fromJson(reader);
+                } else if ("timeInstance".equals(fieldName)) {
+                    deserializedDateFormat.timeInstance = DateFormat.fromJson(reader);
+                } else if ("timeZone".equals(fieldName)) {
+                    deserializedDateFormat.timeZone = TimeZone.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedDateFormat;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResult.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResult.java
index 7fa93038e74d..da9a78d3db77 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResult.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResult.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,26 +18,23 @@
  * The mutation response result of entity.
  */
 @Immutable
-public final class EntityMutationResult {
+public final class EntityMutationResult implements JsonSerializable {
     /*
      * A map of GUID assignments with entities.
      */
     @Generated
-    @JsonProperty(value = "guidAssignments")
     private Map guidAssignments;
 
     /*
      * The entity headers of mutated entities.
      */
     @Generated
-    @JsonProperty(value = "mutatedEntities")
     private Map> mutatedEntities;
 
     /*
      * An array of entity headers that partially updated.
      */
     @Generated
-    @JsonProperty(value = "partialUpdatedEntities")
     private List partialUpdatedEntities;
 
     /**
@@ -72,4 +73,56 @@ public Map> getMutatedEntities() {
     public List getPartialUpdatedEntities() {
         return this.partialUpdatedEntities;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("guidAssignments", this.guidAssignments,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeMapField("mutatedEntities", this.mutatedEntities,
+            (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeJson(element1)));
+        jsonWriter.writeArrayField("partialUpdatedEntities", this.partialUpdatedEntities,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of EntityMutationResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of EntityMutationResult if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the EntityMutationResult.
+     */
+    @Generated
+    public static EntityMutationResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            EntityMutationResult deserializedEntityMutationResult = new EntityMutationResult();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guidAssignments".equals(fieldName)) {
+                    Map guidAssignments = reader.readMap(reader1 -> reader1.getString());
+                    deserializedEntityMutationResult.guidAssignments = guidAssignments;
+                } else if ("mutatedEntities".equals(fieldName)) {
+                    Map> mutatedEntities
+                        = reader.readMap(reader1 -> reader1.readArray(reader2 -> AtlasEntityHeader.fromJson(reader2)));
+                    deserializedEntityMutationResult.mutatedEntities = mutatedEntities;
+                } else if ("partialUpdatedEntities".equals(fieldName)) {
+                    List partialUpdatedEntities
+                        = reader.readArray(reader1 -> AtlasEntityHeader.fromJson(reader1));
+                    deserializedEntityMutationResult.partialUpdatedEntities = partialUpdatedEntities;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedEntityMutationResult;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityStatus.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityStatus.java
index cb21860c168c..43641f6dacdd 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityStatus.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public EntityStatus() {
      * @return the corresponding EntityStatus.
      */
     @Generated
-    @JsonCreator
     public static EntityStatus fromString(String name) {
         return fromString(name, EntityStatus.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/FileDetails.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/FileDetails.java
index 98dc55b1b995..420e6a93635f 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/FileDetails.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/FileDetails.java
@@ -9,24 +9,24 @@
 import com.azure.core.util.BinaryData;
 
 /**
- * The file details model for the file.
+ * The file details for the "file" field.
  */
 @Fluent
 public final class FileDetails {
     /*
-     * The content of the file
+     * The content of the file.
      */
     @Generated
-    private BinaryData content;
+    private final BinaryData content;
 
     /*
-     * The filename of the file
+     * The filename of the file.
      */
     @Generated
     private String filename;
 
     /*
-     * The content-type of the file
+     * The content-type of the file.
      */
     @Generated
     private String contentType = "application/octet-stream";
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportInfo.java
index 89736114981e..e66f273be01b 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportInfo.java
@@ -6,39 +6,39 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * ImportInfo.
  */
 @Immutable
-public final class ImportInfo {
+public final class ImportInfo implements JsonSerializable {
     /*
      * childObjectName
      */
     @Generated
-    @JsonProperty(value = "childObjectName")
     private String childObjectName;
 
     /*
      * importStatus
      */
     @Generated
-    @JsonProperty(value = "importStatus")
     private ImportStatus importStatus;
 
     /*
      * parentObjectName
      */
     @Generated
-    @JsonProperty(value = "parentObjectName")
     private String parentObjectName;
 
     /*
      * remarks
      */
     @Generated
-    @JsonProperty(value = "remarks")
     private String remarks;
 
     /**
@@ -87,4 +87,51 @@ public String getParentObjectName() {
     public String getRemarks() {
         return this.remarks;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("childObjectName", this.childObjectName);
+        jsonWriter.writeStringField("importStatus", this.importStatus == null ? null : this.importStatus.toString());
+        jsonWriter.writeStringField("parentObjectName", this.parentObjectName);
+        jsonWriter.writeStringField("remarks", this.remarks);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ImportInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ImportInfo if the JsonReader was pointing to an instance of it, or null if it was pointing
+     * to JSON null.
+     * @throws IOException If an error occurs while reading the ImportInfo.
+     */
+    @Generated
+    public static ImportInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ImportInfo deserializedImportInfo = new ImportInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("childObjectName".equals(fieldName)) {
+                    deserializedImportInfo.childObjectName = reader.getString();
+                } else if ("importStatus".equals(fieldName)) {
+                    deserializedImportInfo.importStatus = ImportStatus.fromString(reader.getString());
+                } else if ("parentObjectName".equals(fieldName)) {
+                    deserializedImportInfo.parentObjectName = reader.getString();
+                } else if ("remarks".equals(fieldName)) {
+                    deserializedImportInfo.remarks = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedImportInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportStatus.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportStatus.java
index a483868112f8..c0b0a8ffb017 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportStatus.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public ImportStatus() {
      * @return the corresponding ImportStatus.
      */
     @Generated
-    @JsonCreator
     public static ImportStatus fromString(String name) {
         return fromString(name, ImportStatus.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageDirection.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageDirection.java
index 41e23bec4c2b..76dbcec4c4e0 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageDirection.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageDirection.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public LineageDirection() {
      * @return the corresponding LineageDirection.
      */
     @Generated
-    @JsonCreator
     public static LineageDirection fromString(String name) {
         return fromString(name, LineageDirection.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageRelation.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageRelation.java
index 81cf00290ecf..2ee1c2ae2880 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageRelation.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageRelation.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The lineage relation with GUID of the from and to entity.
  */
 @Immutable
-public final class LineageRelation {
+public final class LineageRelation implements JsonSerializable {
     /*
      * The GUID of from-entity.
      */
     @Generated
-    @JsonProperty(value = "fromEntityId")
     private String fromEntityId;
 
     /*
      * The GUID of relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipId")
     private String relationshipId;
 
     /*
      * The GUID of to-entity.
      */
     @Generated
-    @JsonProperty(value = "toEntityId")
     private String toEntityId;
 
     /**
@@ -70,4 +71,48 @@ public String getRelationshipId() {
     public String getToEntityId() {
         return this.toEntityId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("fromEntityId", this.fromEntityId);
+        jsonWriter.writeStringField("relationshipId", this.relationshipId);
+        jsonWriter.writeStringField("toEntityId", this.toEntityId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of LineageRelation from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of LineageRelation if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the LineageRelation.
+     */
+    @Generated
+    public static LineageRelation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            LineageRelation deserializedLineageRelation = new LineageRelation();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("fromEntityId".equals(fieldName)) {
+                    deserializedLineageRelation.fromEntityId = reader.getString();
+                } else if ("relationshipId".equals(fieldName)) {
+                    deserializedLineageRelation.relationshipId = reader.getString();
+                } else if ("toEntityId".equals(fieldName)) {
+                    deserializedLineageRelation.toEntityId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedLineageRelation;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesOptions.java
index 3c45a5120891..9831a529651d 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesOptions.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * MoveEntitiesOptions.
  */
 @Fluent
-public final class MoveEntitiesOptions {
+public final class MoveEntitiesOptions implements JsonSerializable {
     /*
      * An array of entity guids to be moved to target collection.
      */
     @Generated
-    @JsonProperty(value = "entityGuids")
     private List entityGuids;
 
     /**
@@ -49,4 +52,43 @@ public MoveEntitiesOptions setEntityGuids(List entityGuids) {
         this.entityGuids = entityGuids;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("entityGuids", this.entityGuids, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MoveEntitiesOptions from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MoveEntitiesOptions if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the MoveEntitiesOptions.
+     */
+    @Generated
+    public static MoveEntitiesOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            MoveEntitiesOptions deserializedMoveEntitiesOptions = new MoveEntitiesOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("entityGuids".equals(fieldName)) {
+                    List entityGuids = reader.readArray(reader1 -> reader1.getString());
+                    deserializedMoveEntitiesOptions.entityGuids = entityGuids;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedMoveEntitiesOptions;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/NumberFormat.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/NumberFormat.java
index cd41d14f7ee3..35f5c4d4d820 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/NumberFormat.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/NumberFormat.java
@@ -6,110 +6,100 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The number format.
  */
 @Fluent
-public final class NumberFormat {
+public final class NumberFormat implements JsonSerializable {
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "availableLocales")
     private List availableLocales;
 
     /*
      * The currency.
      */
     @Generated
-    @JsonProperty(value = "currency")
     private String currency;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "currencyInstance")
     private NumberFormat currencyInstance;
 
     /*
      * Determines if grouping is used.
      */
     @Generated
-    @JsonProperty(value = "groupingUsed")
     private Boolean groupingUsed;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "instance")
     private NumberFormat instance;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "integerInstance")
     private NumberFormat integerInstance;
 
     /*
      * The maximum of fraction digits.
      */
     @Generated
-    @JsonProperty(value = "maximumFractionDigits")
     private Integer maximumFractionDigits;
 
     /*
      * The maximum of integer digits.
      */
     @Generated
-    @JsonProperty(value = "maximumIntegerDigits")
     private Integer maximumIntegerDigits;
 
     /*
      * The minimum of fraction digits.
      */
     @Generated
-    @JsonProperty(value = "minimumFractionDigits")
     private Integer minimumFractionDigits;
 
     /*
      * The minimum of integer digits.
      */
     @Generated
-    @JsonProperty(value = "minimumIntegerDigits")
     private Integer minimumIntegerDigits;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "numberInstance")
     private NumberFormat numberInstance;
 
     /*
      * Determines if only integer is parsed.
      */
     @Generated
-    @JsonProperty(value = "parseIntegerOnly")
     private Boolean parseIntegerOnly;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "percentInstance")
     private NumberFormat percentInstance;
 
     /*
      * The enum of rounding mode.
      */
     @Generated
-    @JsonProperty(value = "roundingMode")
     private RoundingMode roundingMode;
 
     /**
@@ -426,4 +416,83 @@ public NumberFormat setRoundingMode(RoundingMode roundingMode) {
         this.roundingMode = roundingMode;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("availableLocales", this.availableLocales,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("currency", this.currency);
+        jsonWriter.writeJsonField("currencyInstance", this.currencyInstance);
+        jsonWriter.writeBooleanField("groupingUsed", this.groupingUsed);
+        jsonWriter.writeJsonField("instance", this.instance);
+        jsonWriter.writeJsonField("integerInstance", this.integerInstance);
+        jsonWriter.writeNumberField("maximumFractionDigits", this.maximumFractionDigits);
+        jsonWriter.writeNumberField("maximumIntegerDigits", this.maximumIntegerDigits);
+        jsonWriter.writeNumberField("minimumFractionDigits", this.minimumFractionDigits);
+        jsonWriter.writeNumberField("minimumIntegerDigits", this.minimumIntegerDigits);
+        jsonWriter.writeJsonField("numberInstance", this.numberInstance);
+        jsonWriter.writeBooleanField("parseIntegerOnly", this.parseIntegerOnly);
+        jsonWriter.writeJsonField("percentInstance", this.percentInstance);
+        jsonWriter.writeStringField("roundingMode", this.roundingMode == null ? null : this.roundingMode.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of NumberFormat from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of NumberFormat if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the NumberFormat.
+     */
+    @Generated
+    public static NumberFormat fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            NumberFormat deserializedNumberFormat = new NumberFormat();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("availableLocales".equals(fieldName)) {
+                    List availableLocales = reader.readArray(reader1 -> reader1.getString());
+                    deserializedNumberFormat.availableLocales = availableLocales;
+                } else if ("currency".equals(fieldName)) {
+                    deserializedNumberFormat.currency = reader.getString();
+                } else if ("currencyInstance".equals(fieldName)) {
+                    deserializedNumberFormat.currencyInstance = NumberFormat.fromJson(reader);
+                } else if ("groupingUsed".equals(fieldName)) {
+                    deserializedNumberFormat.groupingUsed = reader.getNullable(JsonReader::getBoolean);
+                } else if ("instance".equals(fieldName)) {
+                    deserializedNumberFormat.instance = NumberFormat.fromJson(reader);
+                } else if ("integerInstance".equals(fieldName)) {
+                    deserializedNumberFormat.integerInstance = NumberFormat.fromJson(reader);
+                } else if ("maximumFractionDigits".equals(fieldName)) {
+                    deserializedNumberFormat.maximumFractionDigits = reader.getNullable(JsonReader::getInt);
+                } else if ("maximumIntegerDigits".equals(fieldName)) {
+                    deserializedNumberFormat.maximumIntegerDigits = reader.getNullable(JsonReader::getInt);
+                } else if ("minimumFractionDigits".equals(fieldName)) {
+                    deserializedNumberFormat.minimumFractionDigits = reader.getNullable(JsonReader::getInt);
+                } else if ("minimumIntegerDigits".equals(fieldName)) {
+                    deserializedNumberFormat.minimumIntegerDigits = reader.getNullable(JsonReader::getInt);
+                } else if ("numberInstance".equals(fieldName)) {
+                    deserializedNumberFormat.numberInstance = NumberFormat.fromJson(reader);
+                } else if ("parseIntegerOnly".equals(fieldName)) {
+                    deserializedNumberFormat.parseIntegerOnly = reader.getNullable(JsonReader::getBoolean);
+                } else if ("percentInstance".equals(fieldName)) {
+                    deserializedNumberFormat.percentInstance = NumberFormat.fromJson(reader);
+                } else if ("roundingMode".equals(fieldName)) {
+                    deserializedNumberFormat.roundingMode = RoundingMode.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedNumberFormat;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ParentRelation.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ParentRelation.java
index 30ceb02551f5..9fb1100a69d0 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ParentRelation.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ParentRelation.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The lineage parents relation with GUID of the parent entity and to child entity.
  */
 @Immutable
-public final class ParentRelation {
+public final class ParentRelation implements JsonSerializable {
     /*
      * The GUID of child entity.
      */
     @Generated
-    @JsonProperty(value = "childEntityId")
     private String childEntityId;
 
     /*
      * The GUID of relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipId")
     private String relationshipId;
 
     /*
      * The GUID of parent entity.
      */
     @Generated
-    @JsonProperty(value = "parentEntityId")
     private String parentEntityId;
 
     /**
@@ -70,4 +71,48 @@ public String getRelationshipId() {
     public String getParentEntityId() {
         return this.parentEntityId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("childEntityId", this.childEntityId);
+        jsonWriter.writeStringField("relationshipId", this.relationshipId);
+        jsonWriter.writeStringField("parentEntityId", this.parentEntityId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ParentRelation from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ParentRelation if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ParentRelation.
+     */
+    @Generated
+    public static ParentRelation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ParentRelation deserializedParentRelation = new ParentRelation();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("childEntityId".equals(fieldName)) {
+                    deserializedParentRelation.childEntityId = reader.getString();
+                } else if ("relationshipId".equals(fieldName)) {
+                    deserializedParentRelation.relationshipId = reader.getString();
+                } else if ("parentEntityId".equals(fieldName)) {
+                    deserializedParentRelation.parentEntityId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedParentRelation;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java
index 335743e7a58c..f04c11c0b477 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java
@@ -6,68 +6,64 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * PurviewObjectId.
  */
 @Fluent
-public final class PurviewObjectId {
+public final class PurviewObjectId implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * The unique attributes of the object.
      */
     @Generated
-    @JsonProperty(value = "uniqueAttributes")
     private Map uniqueAttributes;
 
     /*
      * Name
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * Display text
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * Item path
      */
     @Generated
-    @JsonProperty(value = "itemPath")
     private String itemPath;
 
     /*
      * Resource Id
      */
     @Generated
-    @JsonProperty(value = "resourceId")
     private String resourceId;
 
     /*
      * Dictionary of 
      */
     @Generated
-    @JsonProperty(value = "properties")
     private Map properties;
 
     /**
@@ -252,4 +248,66 @@ public PurviewObjectId setProperties(Map properties) {
         this.properties = properties;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeMapField("uniqueAttributes", this.uniqueAttributes,
+            (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("itemPath", this.itemPath);
+        jsonWriter.writeStringField("resourceId", this.resourceId);
+        jsonWriter.writeMapField("properties", this.properties, (writer, element) -> writer.writeUntyped(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of PurviewObjectId from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of PurviewObjectId if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the PurviewObjectId.
+     */
+    @Generated
+    public static PurviewObjectId fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            PurviewObjectId deserializedPurviewObjectId = new PurviewObjectId();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedPurviewObjectId.guid = reader.getString();
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedPurviewObjectId.typeName = reader.getString();
+                } else if ("uniqueAttributes".equals(fieldName)) {
+                    Map uniqueAttributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedPurviewObjectId.uniqueAttributes = uniqueAttributes;
+                } else if ("name".equals(fieldName)) {
+                    deserializedPurviewObjectId.name = reader.getString();
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedPurviewObjectId.displayText = reader.getString();
+                } else if ("itemPath".equals(fieldName)) {
+                    deserializedPurviewObjectId.itemPath = reader.getString();
+                } else if ("resourceId".equals(fieldName)) {
+                    deserializedPurviewObjectId.resourceId = reader.getString();
+                } else if ("properties".equals(fieldName)) {
+                    Map properties = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedPurviewObjectId.properties = properties;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedPurviewObjectId;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryOptions.java
index e5d131145f3e..98c4e9288a5d 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryOptions.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The search query of advanced search request.
  */
 @Fluent
-public final class QueryOptions {
+public final class QueryOptions implements JsonSerializable {
     /*
      * The keywords applied to all searchable fields.
      */
     @Generated
-    @JsonProperty(value = "keywords")
     private String keywords;
 
     /*
@@ -26,7 +29,6 @@ public final class QueryOptions {
      * value is 1000.
      */
     @Generated
-    @JsonProperty(value = "limit")
     private Integer limit;
 
     /*
@@ -34,35 +36,30 @@ public final class QueryOptions {
      * batch, and will return new token in each response unless there's no more data.
      */
     @Generated
-    @JsonProperty(value = "continuationToken")
     private String continuationToken;
 
     /*
      * The sort order of search results, can specify multiple fields.
      */
     @Generated
-    @JsonProperty(value = "orderby")
     private List orderby;
 
     /*
      * The filter for the search. See examples for the usage of supported filters.
      */
     @Generated
-    @JsonProperty(value = "filter")
     private Object filter;
 
     /*
      * The facets for search. See examples for the usage of supported facets.
      */
     @Generated
-    @JsonProperty(value = "facets")
     private List facets;
 
     /*
      * The taxonomy setting for search.
      */
     @Generated
-    @JsonProperty(value = "taxonomySetting")
     private SearchTaxonomySetting taxonomySetting;
 
     /**
@@ -229,4 +226,62 @@ public QueryOptions setTaxonomySetting(SearchTaxonomySetting taxonomySetting) {
         this.taxonomySetting = taxonomySetting;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("keywords", this.keywords);
+        jsonWriter.writeNumberField("limit", this.limit);
+        jsonWriter.writeStringField("continuationToken", this.continuationToken);
+        jsonWriter.writeArrayField("orderby", this.orderby, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeUntypedField("filter", this.filter);
+        jsonWriter.writeArrayField("facets", this.facets, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("taxonomySetting", this.taxonomySetting);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of QueryOptions from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of QueryOptions if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the QueryOptions.
+     */
+    @Generated
+    public static QueryOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            QueryOptions deserializedQueryOptions = new QueryOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("keywords".equals(fieldName)) {
+                    deserializedQueryOptions.keywords = reader.getString();
+                } else if ("limit".equals(fieldName)) {
+                    deserializedQueryOptions.limit = reader.getNullable(JsonReader::getInt);
+                } else if ("continuationToken".equals(fieldName)) {
+                    deserializedQueryOptions.continuationToken = reader.getString();
+                } else if ("orderby".equals(fieldName)) {
+                    List orderby = reader.readArray(reader1 -> reader1.readUntyped());
+                    deserializedQueryOptions.orderby = orderby;
+                } else if ("filter".equals(fieldName)) {
+                    deserializedQueryOptions.filter = reader.readUntyped();
+                } else if ("facets".equals(fieldName)) {
+                    List facets = reader.readArray(reader1 -> SearchFacetItem.fromJson(reader1));
+                    deserializedQueryOptions.facets = facets;
+                } else if ("taxonomySetting".equals(fieldName)) {
+                    deserializedQueryOptions.taxonomySetting = SearchTaxonomySetting.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedQueryOptions;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryResult.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryResult.java
index 7fb476a96dc0..81c2aa60ae0c 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryResult.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryResult.java
@@ -6,34 +6,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The result of the search result.
  */
 @Immutable
-public final class QueryResult {
+public final class QueryResult implements JsonSerializable {
     /*
      * The total number of search results (not the number of documents in a single
      * page).
      */
     @Generated
-    @JsonProperty(value = "@search.count")
     private Integer searchCount;
 
     /*
      * 'True' if the '@search.count' is an approximate value and vise versa.
      */
     @Generated
-    @JsonProperty(value = "@search.count.approximate")
     private Boolean searchCountApproximate;
 
     /*
      * The token used to get next batch of data. Absent if there's no more data.
      */
     @Generated
-    @JsonProperty(value = "continuationToken")
     private String continuationToken;
 
     /*
@@ -42,14 +43,12 @@ public final class QueryResult {
      * the facet is returned as an element of @search.facets.
      */
     @Generated
-    @JsonProperty(value = "@search.facets")
     private SearchFacetResultValue searchFacets;
 
     /*
      * Search result value
      */
     @Generated
-    @JsonProperty(value = "value")
     private List value;
 
     /**
@@ -112,4 +111,55 @@ public SearchFacetResultValue getSearchFacets() {
     public List getValue() {
         return this.value;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("@search.count", this.searchCount);
+        jsonWriter.writeBooleanField("@search.count.approximate", this.searchCountApproximate);
+        jsonWriter.writeStringField("continuationToken", this.continuationToken);
+        jsonWriter.writeJsonField("@search.facets", this.searchFacets);
+        jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of QueryResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of QueryResult if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the QueryResult.
+     */
+    @Generated
+    public static QueryResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            QueryResult deserializedQueryResult = new QueryResult();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("@search.count".equals(fieldName)) {
+                    deserializedQueryResult.searchCount = reader.getNullable(JsonReader::getInt);
+                } else if ("@search.count.approximate".equals(fieldName)) {
+                    deserializedQueryResult.searchCountApproximate = reader.getNullable(JsonReader::getBoolean);
+                } else if ("continuationToken".equals(fieldName)) {
+                    deserializedQueryResult.continuationToken = reader.getString();
+                } else if ("@search.facets".equals(fieldName)) {
+                    deserializedQueryResult.searchFacets = SearchFacetResultValue.fromJson(reader);
+                } else if ("value".equals(fieldName)) {
+                    List value = reader.readArray(reader1 -> SearchResultValue.fromJson(reader1));
+                    deserializedQueryResult.value = value;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedQueryResult;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RelationshipCategory.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RelationshipCategory.java
index 8017d7226bc2..470852f9694b 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RelationshipCategory.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RelationshipCategory.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public RelationshipCategory() {
      * @return the corresponding RelationshipCategory.
      */
     @Generated
-    @JsonCreator
     public static RelationshipCategory fromString(String name) {
         return fromString(name, RelationshipCategory.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ResourceLink.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ResourceLink.java
index 348fee24a423..4f4ceb03dd93 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ResourceLink.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ResourceLink.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * ResourceLink.
  */
 @Fluent
-public final class ResourceLink {
+public final class ResourceLink implements JsonSerializable {
     /*
      * Display name for url.
      */
     @Generated
-    @JsonProperty(value = "displayName")
     private String displayName;
 
     /*
      * web url. http or https
      */
     @Generated
-    @JsonProperty(value = "url")
     private String url;
 
     /**
@@ -77,4 +79,45 @@ public ResourceLink setUrl(String url) {
         this.url = url;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("displayName", this.displayName);
+        jsonWriter.writeStringField("url", this.url);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ResourceLink from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ResourceLink if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ResourceLink.
+     */
+    @Generated
+    public static ResourceLink fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ResourceLink deserializedResourceLink = new ResourceLink();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("displayName".equals(fieldName)) {
+                    deserializedResourceLink.displayName = reader.getString();
+                } else if ("url".equals(fieldName)) {
+                    deserializedResourceLink.url = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedResourceLink;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RoundingMode.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RoundingMode.java
index c128320f8733..52243ad17a81 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RoundingMode.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RoundingMode.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -78,7 +77,6 @@ public RoundingMode() {
      * @return the corresponding RoundingMode.
      */
     @Generated
-    @JsonCreator
     public static RoundingMode fromString(String name) {
         return fromString(name, RoundingMode.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java
index 0a83a22433a9..6a685eb3977d 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The content of a search facet result item.
  */
 @Fluent
-public final class SearchFacetItem {
+public final class SearchFacetItem implements JsonSerializable {
     /*
      * The count of the facet item.
      */
     @Generated
-    @JsonProperty(value = "count")
     private Integer count;
 
     /*
      * The name of the facet item.
      */
     @Generated
-    @JsonProperty(value = "facet")
     private String facet;
 
     /*
      * Define the sorting criteria for items
      */
     @Generated
-    @JsonProperty(value = "sort")
     private SearchFacetSort sort;
 
     /**
@@ -106,4 +107,48 @@ public SearchFacetItem setSort(SearchFacetSort sort) {
         this.sort = sort;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("count", this.count);
+        jsonWriter.writeStringField("facet", this.facet);
+        jsonWriter.writeJsonField("sort", this.sort);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchFacetItem from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchFacetItem if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchFacetItem.
+     */
+    @Generated
+    public static SearchFacetItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchFacetItem deserializedSearchFacetItem = new SearchFacetItem();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("count".equals(fieldName)) {
+                    deserializedSearchFacetItem.count = reader.getNullable(JsonReader::getInt);
+                } else if ("facet".equals(fieldName)) {
+                    deserializedSearchFacetItem.facet = reader.getString();
+                } else if ("sort".equals(fieldName)) {
+                    deserializedSearchFacetItem.sort = SearchFacetSort.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchFacetItem;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItemValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItemValue.java
index a4984ae96d32..50178872b2c8 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItemValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItemValue.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The content of a search facet result item.
  */
 @Immutable
-public final class SearchFacetItemValue {
+public final class SearchFacetItemValue implements JsonSerializable {
     /*
      * The count of the facet item.
      */
     @Generated
-    @JsonProperty(value = "count")
     private Integer count;
 
     /*
      * The name of the facet item.
      */
     @Generated
-    @JsonProperty(value = "value")
     private String value;
 
     /**
@@ -53,4 +55,45 @@ public Integer getCount() {
     public String getValue() {
         return this.value;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("count", this.count);
+        jsonWriter.writeStringField("value", this.value);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchFacetItemValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchFacetItemValue if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchFacetItemValue.
+     */
+    @Generated
+    public static SearchFacetItemValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchFacetItemValue deserializedSearchFacetItemValue = new SearchFacetItemValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("count".equals(fieldName)) {
+                    deserializedSearchFacetItemValue.count = reader.getNullable(JsonReader::getInt);
+                } else if ("value".equals(fieldName)) {
+                    deserializedSearchFacetItemValue.value = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchFacetItemValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java
index bde250a05610..6674e3983c3c 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -15,75 +19,65 @@
  * the facet is returned as an element of @search.facets.
  */
 @Immutable
-public final class SearchFacetResultValue {
+public final class SearchFacetResultValue implements JsonSerializable {
     /*
      * Entity type
      */
     @Generated
-    @JsonProperty(value = "entityType")
     private List entityType;
 
     /*
      * Asset type
      */
     @Generated
-    @JsonProperty(value = "assetType")
     private List assetType;
 
     /*
      * Classification
      */
     @Generated
-    @JsonProperty(value = "classification")
     private List classification;
 
     /*
      * Term
      */
     @Generated
-    @JsonProperty(value = "term")
     private List term;
 
     /*
      * Contact id
      */
     @Generated
-    @JsonProperty(value = "contactId")
     private List contactId;
 
     /*
      * Contact type
      */
     @Generated
-    @JsonProperty(value = "contactType")
     private List contactType;
 
     /*
      * Label
      */
     @Generated
-    @JsonProperty(value = "label")
     private List label;
 
     /*
      * Glossary type
      */
     @Generated
-    @JsonProperty(value = "glossaryType")
     private List glossaryType;
 
     /*
      * Term status
      */
     @Generated
-    @JsonProperty(value = "termStatus")
     private List termStatus;
 
     /*
      * Term template
      */
     @Generated
-    @JsonProperty(value = "termTemplate")
     private List termTemplate;
 
     /**
@@ -192,4 +186,90 @@ public List getTermStatus() {
     public List getTermTemplate() {
         return this.termTemplate;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("entityType", this.entityType, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("assetType", this.assetType, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("classification", this.classification,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("term", this.term, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("contactId", this.contactId, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("contactType", this.contactType, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("label", this.label, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("glossaryType", this.glossaryType, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("termStatus", this.termStatus, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("termTemplate", this.termTemplate, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchFacetResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchFacetResultValue if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchFacetResultValue.
+     */
+    @Generated
+    public static SearchFacetResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchFacetResultValue deserializedSearchFacetResultValue = new SearchFacetResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("entityType".equals(fieldName)) {
+                    List entityType
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.entityType = entityType;
+                } else if ("assetType".equals(fieldName)) {
+                    List assetType
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.assetType = assetType;
+                } else if ("classification".equals(fieldName)) {
+                    List classification
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.classification = classification;
+                } else if ("term".equals(fieldName)) {
+                    List term
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.term = term;
+                } else if ("contactId".equals(fieldName)) {
+                    List contactId
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.contactId = contactId;
+                } else if ("contactType".equals(fieldName)) {
+                    List contactType
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.contactType = contactType;
+                } else if ("label".equals(fieldName)) {
+                    List label
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.label = label;
+                } else if ("glossaryType".equals(fieldName)) {
+                    List glossaryType
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.glossaryType = glossaryType;
+                } else if ("termStatus".equals(fieldName)) {
+                    List termStatus
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.termStatus = termStatus;
+                } else if ("termTemplate".equals(fieldName)) {
+                    List termTemplate
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.termTemplate = termTemplate;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchFacetResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetSort.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetSort.java
index 4a9b71d141bb..4bbfdf45a6cd 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetSort.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetSort.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The sorting criteria.
  */
 @Fluent
-public final class SearchFacetSort {
+public final class SearchFacetSort implements JsonSerializable {
     /*
      * Order by count
      */
     @Generated
-    @JsonProperty(value = "count")
     private SearchSortOrder count;
 
     /*
      * Order by value
      */
     @Generated
-    @JsonProperty(value = "value")
     private SearchSortOrder value;
 
     /**
@@ -77,4 +79,45 @@ public SearchFacetSort setValue(SearchSortOrder value) {
         this.value = value;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("count", this.count == null ? null : this.count.toString());
+        jsonWriter.writeStringField("value", this.value == null ? null : this.value.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchFacetSort from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchFacetSort if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchFacetSort.
+     */
+    @Generated
+    public static SearchFacetSort fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchFacetSort deserializedSearchFacetSort = new SearchFacetSort();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("count".equals(fieldName)) {
+                    deserializedSearchFacetSort.count = SearchSortOrder.fromString(reader.getString());
+                } else if ("value".equals(fieldName)) {
+                    deserializedSearchFacetSort.value = SearchSortOrder.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchFacetSort;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java
index 18ae9fed05b5..fd63eceb435e 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -16,40 +20,35 @@
  * @search.highlights.
  */
 @Immutable
-public final class SearchHighlights {
+public final class SearchHighlights implements JsonSerializable {
     /*
      * Id
      */
     @Generated
-    @JsonProperty(value = "id")
     private List id;
 
     /*
      * Qualified name
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private List qualifiedName;
 
     /*
      * Name
      */
     @Generated
-    @JsonProperty(value = "name")
     private List name;
 
     /*
      * Description
      */
     @Generated
-    @JsonProperty(value = "description")
     private List description;
 
     /*
      * Entity type
      */
     @Generated
-    @JsonProperty(value = "entityType")
     private List entityType;
 
     /**
@@ -108,4 +107,60 @@ public List getDescription() {
     public List getEntityType() {
         return this.entityType;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("id", this.id, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("qualifiedName", this.qualifiedName,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("name", this.name, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("description", this.description, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("entityType", this.entityType, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchHighlights from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchHighlights if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchHighlights.
+     */
+    @Generated
+    public static SearchHighlights fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchHighlights deserializedSearchHighlights = new SearchHighlights();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("id".equals(fieldName)) {
+                    List id = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchHighlights.id = id;
+                } else if ("qualifiedName".equals(fieldName)) {
+                    List qualifiedName = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchHighlights.qualifiedName = qualifiedName;
+                } else if ("name".equals(fieldName)) {
+                    List name = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchHighlights.name = name;
+                } else if ("description".equals(fieldName)) {
+                    List description = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchHighlights.description = description;
+                } else if ("entityType".equals(fieldName)) {
+                    List entityType = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchHighlights.entityType = entityType;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchHighlights;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java
index 648b5f19a00b..c0b483fbd5d1 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java
@@ -6,31 +6,32 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The value item of the search result.
  */
 @Immutable
-public final class SearchResultValue {
+public final class SearchResultValue implements JsonSerializable {
     /*
      * The search score calculated by the search engine. The results are ordered by
      * search score by default.
      */
     @Generated
-    @JsonProperty(value = "@search.score")
     private Double searchScore;
 
     /*
      * A highlight list that consists of index fields id ,qualifiedName, name,
      * description, entityType. When the keyword appears in those fields, the value of
      * the field, attached with emphasis mark, is returned as an element of
-     * 
      * @search.highlights.
      */
     @Generated
-    @JsonProperty(value = "@search.highlights")
     private SearchHighlights searchHighlights;
 
     /*
@@ -38,105 +39,90 @@ public final class SearchResultValue {
      * distinguish whether a record is an asset or a term.
      */
     @Generated
-    @JsonProperty(value = "objectType")
     private String objectType;
 
     /*
      * The create time of the record. The Unix epoch format.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The last update time of the record. The Unix epoch format.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The GUID of the record.
      */
     @Generated
-    @JsonProperty(value = "id")
     private String id;
 
     /*
      * The name of the record.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the record.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The type name of the asset.
      */
     @Generated
-    @JsonProperty(value = "entityType")
     private String entityType;
 
     /*
      * The description of the asset.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The endorsement of the asset.
      */
     @Generated
-    @JsonProperty(value = "endorsement")
     private String endorsement;
 
     /*
      * The owner of the record.
      */
     @Generated
-    @JsonProperty(value = "owner")
     private String owner;
 
     /*
      * The classifications of the record.
      */
     @Generated
-    @JsonProperty(value = "classification")
     private List classification;
 
     /*
      * The labels of the asset.
      */
     @Generated
-    @JsonProperty(value = "label")
     private List label;
 
     /*
      * The terms assigned to the asset.
      */
     @Generated
-    @JsonProperty(value = "term")
     private List term;
 
     /*
      * The contacts of the asset.
      */
     @Generated
-    @JsonProperty(value = "contact")
     private List contact;
 
     /*
      * The asset types of the asset.
      */
     @Generated
-    @JsonProperty(value = "assetType")
     private List assetType;
 
     /*
@@ -144,35 +130,30 @@ public final class SearchResultValue {
      * AtlasGlossaryCategory.
      */
     @Generated
-    @JsonProperty(value = "glossaryType")
     private String glossaryType;
 
     /*
      * The glossary name of the term.
      */
     @Generated
-    @JsonProperty(value = "glossary")
     private String glossary;
 
     /*
      * The status of the term.
      */
     @Generated
-    @JsonProperty(value = "termStatus")
     private String termStatus;
 
     /*
      * The term template names used by the term.
      */
     @Generated
-    @JsonProperty(value = "termTemplate")
     private List termTemplate;
 
     /*
      * The definition of the term.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /**
@@ -407,4 +388,114 @@ public List getTermTemplate() {
     public String getLongDescription() {
         return this.longDescription;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("@search.score", this.searchScore);
+        jsonWriter.writeJsonField("@search.highlights", this.searchHighlights);
+        jsonWriter.writeStringField("objectType", this.objectType);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("entityType", this.entityType);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("endorsement", this.endorsement);
+        jsonWriter.writeStringField("owner", this.owner);
+        jsonWriter.writeArrayField("classification", this.classification,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("label", this.label, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("term", this.term, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("contact", this.contact, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("assetType", this.assetType, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("glossaryType", this.glossaryType);
+        jsonWriter.writeStringField("glossary", this.glossary);
+        jsonWriter.writeStringField("termStatus", this.termStatus);
+        jsonWriter.writeArrayField("termTemplate", this.termTemplate, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchResultValue if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchResultValue.
+     */
+    @Generated
+    public static SearchResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchResultValue deserializedSearchResultValue = new SearchResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("@search.score".equals(fieldName)) {
+                    deserializedSearchResultValue.searchScore = reader.getNullable(JsonReader::getDouble);
+                } else if ("@search.highlights".equals(fieldName)) {
+                    deserializedSearchResultValue.searchHighlights = SearchHighlights.fromJson(reader);
+                } else if ("objectType".equals(fieldName)) {
+                    deserializedSearchResultValue.objectType = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedSearchResultValue.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedSearchResultValue.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("id".equals(fieldName)) {
+                    deserializedSearchResultValue.id = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedSearchResultValue.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedSearchResultValue.qualifiedName = reader.getString();
+                } else if ("entityType".equals(fieldName)) {
+                    deserializedSearchResultValue.entityType = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedSearchResultValue.description = reader.getString();
+                } else if ("endorsement".equals(fieldName)) {
+                    deserializedSearchResultValue.endorsement = reader.getString();
+                } else if ("owner".equals(fieldName)) {
+                    deserializedSearchResultValue.owner = reader.getString();
+                } else if ("classification".equals(fieldName)) {
+                    List classification = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchResultValue.classification = classification;
+                } else if ("label".equals(fieldName)) {
+                    List label = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchResultValue.label = label;
+                } else if ("term".equals(fieldName)) {
+                    List term
+                        = reader.readArray(reader1 -> TermSearchResultValue.fromJson(reader1));
+                    deserializedSearchResultValue.term = term;
+                } else if ("contact".equals(fieldName)) {
+                    List contact
+                        = reader.readArray(reader1 -> ContactSearchResultValue.fromJson(reader1));
+                    deserializedSearchResultValue.contact = contact;
+                } else if ("assetType".equals(fieldName)) {
+                    List assetType = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchResultValue.assetType = assetType;
+                } else if ("glossaryType".equals(fieldName)) {
+                    deserializedSearchResultValue.glossaryType = reader.getString();
+                } else if ("glossary".equals(fieldName)) {
+                    deserializedSearchResultValue.glossary = reader.getString();
+                } else if ("termStatus".equals(fieldName)) {
+                    deserializedSearchResultValue.termStatus = reader.getString();
+                } else if ("termTemplate".equals(fieldName)) {
+                    List termTemplate = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchResultValue.termTemplate = termTemplate;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedSearchResultValue.longDescription = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchSortOrder.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchSortOrder.java
index 573b991475c3..ddb8e738a525 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchSortOrder.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchSortOrder.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public SearchSortOrder() {
      * @return the corresponding SearchSortOrder.
      */
     @Generated
-    @JsonCreator
     public static SearchSortOrder fromString(String name) {
         return fromString(name, SearchSortOrder.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchTaxonomySetting.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchTaxonomySetting.java
index f5c95dd944f4..ffbc5cd028fa 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchTaxonomySetting.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchTaxonomySetting.java
@@ -6,26 +6,28 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Taxonomy setting for search request.
  */
 @Fluent
-public final class SearchTaxonomySetting {
+public final class SearchTaxonomySetting implements JsonSerializable {
     /*
      * Asset types
      */
     @Generated
-    @JsonProperty(value = "assetTypes")
     private List assetTypes;
 
     /*
      * The content of a search facet result item.
      */
     @Generated
-    @JsonProperty(value = "facet")
     private SearchFacetItem facet;
 
     /**
@@ -78,4 +80,46 @@ public SearchTaxonomySetting setFacet(SearchFacetItem facet) {
         this.facet = facet;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("assetTypes", this.assetTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("facet", this.facet);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchTaxonomySetting from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchTaxonomySetting if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchTaxonomySetting.
+     */
+    @Generated
+    public static SearchTaxonomySetting fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchTaxonomySetting deserializedSearchTaxonomySetting = new SearchTaxonomySetting();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("assetTypes".equals(fieldName)) {
+                    List assetTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchTaxonomySetting.assetTypes = assetTypes;
+                } else if ("facet".equals(fieldName)) {
+                    deserializedSearchTaxonomySetting.facet = SearchFacetItem.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchTaxonomySetting;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.java
index 837a2a5d2eab..eacf8a04dda8 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public SortType() {
      * @return the corresponding SortType.
      */
     @Generated
-    @JsonCreator
     public static SortType fromString(String name) {
         return fromString(name, SortType.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/StatusAtlasRelationship.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/StatusAtlasRelationship.java
index f622e0847f1f..4d8d5248ad48 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/StatusAtlasRelationship.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/StatusAtlasRelationship.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public StatusAtlasRelationship() {
      * @return the corresponding StatusAtlasRelationship.
      */
     @Generated
-    @JsonCreator
     public static StatusAtlasRelationship fromString(String name) {
         return fromString(name, StatusAtlasRelationship.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestOptions.java
index 1cd15cd59c25..e51b1def3a98 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestOptions.java
@@ -6,13 +6,17 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The payload of suggest request.
  */
 @Fluent
-public final class SuggestOptions {
+public final class SuggestOptions implements JsonSerializable {
     /*
      * The keywords applied to all fields that support suggest operation. It must be
      * at least 1 character, and no more than 100 characters. In the index schema we
@@ -20,7 +24,6 @@ public final class SuggestOptions {
      * a search mode.
      */
     @Generated
-    @JsonProperty(value = "keywords")
     private String keywords;
 
     /*
@@ -28,14 +31,12 @@ public final class SuggestOptions {
      * must be a number between 1 and 100.
      */
     @Generated
-    @JsonProperty(value = "limit")
     private Integer limit;
 
     /*
      * The filter for the search.
      */
     @Generated
-    @JsonProperty(value = "filter")
     private Object filter;
 
     /**
@@ -118,4 +119,48 @@ public SuggestOptions setFilter(Object filter) {
         this.filter = filter;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("keywords", this.keywords);
+        jsonWriter.writeNumberField("limit", this.limit);
+        jsonWriter.writeUntypedField("filter", this.filter);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SuggestOptions from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SuggestOptions if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SuggestOptions.
+     */
+    @Generated
+    public static SuggestOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SuggestOptions deserializedSuggestOptions = new SuggestOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("keywords".equals(fieldName)) {
+                    deserializedSuggestOptions.keywords = reader.getString();
+                } else if ("limit".equals(fieldName)) {
+                    deserializedSuggestOptions.limit = reader.getNullable(JsonReader::getInt);
+                } else if ("filter".equals(fieldName)) {
+                    deserializedSuggestOptions.filter = reader.readUntyped();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSuggestOptions;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResult.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResult.java
index 44ed4f230eb9..1ed5891477b0 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResult.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResult.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The result item of the search suggest.
  */
 @Immutable
-public final class SuggestResult {
+public final class SuggestResult implements JsonSerializable {
     /*
      * The result value
      */
     @Generated
-    @JsonProperty(value = "value")
     private List value;
 
     /**
@@ -37,4 +40,43 @@ private SuggestResult() {
     public List getValue() {
         return this.value;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SuggestResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SuggestResult if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SuggestResult.
+     */
+    @Generated
+    public static SuggestResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SuggestResult deserializedSuggestResult = new SuggestResult();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("value".equals(fieldName)) {
+                    List value = reader.readArray(reader1 -> SuggestResultValue.fromJson(reader1));
+                    deserializedSuggestResult.value = value;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSuggestResult;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java
index 45b4f1f21527..b6ea9573769e 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java
@@ -6,20 +6,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The value item of the search suggest.
  */
 @Immutable
-public final class SuggestResultValue {
+public final class SuggestResultValue implements JsonSerializable {
     /*
      * The search score calculated by the search engine. The results are ordered by
      * search score by default.
      */
     @Generated
-    @JsonProperty(value = "@search.score")
     private Double searchScore;
 
     /*
@@ -27,7 +30,6 @@ public final class SuggestResultValue {
      * with emphasis mark.
      */
     @Generated
-    @JsonProperty(value = "@search.text")
     private String searchText;
 
     /*
@@ -35,105 +37,90 @@ public final class SuggestResultValue {
      * distinguish whether a record is an asset or a term.
      */
     @Generated
-    @JsonProperty(value = "objectType")
     private String objectType;
 
     /*
      * The create time of the record. The Unix epoch format.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The last update time of the record. The Unix epoch format.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The GUID of the record.
      */
     @Generated
-    @JsonProperty(value = "id")
     private String id;
 
     /*
      * The name of the record.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the record.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The type name of the asset.
      */
     @Generated
-    @JsonProperty(value = "entityType")
     private String entityType;
 
     /*
      * The description of the asset.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The endorsement of the asset.
      */
     @Generated
-    @JsonProperty(value = "endorsement")
     private String endorsement;
 
     /*
      * The owner of the record.
      */
     @Generated
-    @JsonProperty(value = "owner")
     private String owner;
 
     /*
      * The classifications of the record.
      */
     @Generated
-    @JsonProperty(value = "classification")
     private List classification;
 
     /*
      * The labels of the asset.
      */
     @Generated
-    @JsonProperty(value = "label")
     private List label;
 
     /*
      * The terms assigned to the asset.
      */
     @Generated
-    @JsonProperty(value = "term")
     private List term;
 
     /*
      * The contacts of the asset.
      */
     @Generated
-    @JsonProperty(value = "contact")
     private List contact;
 
     /*
      * The asset types of the asset.
      */
     @Generated
-    @JsonProperty(value = "assetType")
     private List assetType;
 
     /*
@@ -141,35 +128,30 @@ public final class SuggestResultValue {
      * AtlasGlossaryCategory.
      */
     @Generated
-    @JsonProperty(value = "glossaryType")
     private String glossaryType;
 
     /*
      * The glossary name of the term.
      */
     @Generated
-    @JsonProperty(value = "glossary")
     private String glossary;
 
     /*
      * The status of the term.
      */
     @Generated
-    @JsonProperty(value = "termStatus")
     private String termStatus;
 
     /*
      * The term template names used by the term.
      */
     @Generated
-    @JsonProperty(value = "termTemplate")
     private List termTemplate;
 
     /*
      * The definition of the term.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /**
@@ -402,4 +384,114 @@ public List getTermTemplate() {
     public String getLongDescription() {
         return this.longDescription;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("@search.score", this.searchScore);
+        jsonWriter.writeStringField("@search.text", this.searchText);
+        jsonWriter.writeStringField("objectType", this.objectType);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("entityType", this.entityType);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("endorsement", this.endorsement);
+        jsonWriter.writeStringField("owner", this.owner);
+        jsonWriter.writeArrayField("classification", this.classification,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("label", this.label, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("term", this.term, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("contact", this.contact, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("assetType", this.assetType, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("glossaryType", this.glossaryType);
+        jsonWriter.writeStringField("glossary", this.glossary);
+        jsonWriter.writeStringField("termStatus", this.termStatus);
+        jsonWriter.writeArrayField("termTemplate", this.termTemplate, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SuggestResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SuggestResultValue if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SuggestResultValue.
+     */
+    @Generated
+    public static SuggestResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SuggestResultValue deserializedSuggestResultValue = new SuggestResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("@search.score".equals(fieldName)) {
+                    deserializedSuggestResultValue.searchScore = reader.getNullable(JsonReader::getDouble);
+                } else if ("@search.text".equals(fieldName)) {
+                    deserializedSuggestResultValue.searchText = reader.getString();
+                } else if ("objectType".equals(fieldName)) {
+                    deserializedSuggestResultValue.objectType = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedSuggestResultValue.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedSuggestResultValue.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("id".equals(fieldName)) {
+                    deserializedSuggestResultValue.id = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedSuggestResultValue.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedSuggestResultValue.qualifiedName = reader.getString();
+                } else if ("entityType".equals(fieldName)) {
+                    deserializedSuggestResultValue.entityType = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedSuggestResultValue.description = reader.getString();
+                } else if ("endorsement".equals(fieldName)) {
+                    deserializedSuggestResultValue.endorsement = reader.getString();
+                } else if ("owner".equals(fieldName)) {
+                    deserializedSuggestResultValue.owner = reader.getString();
+                } else if ("classification".equals(fieldName)) {
+                    List classification = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSuggestResultValue.classification = classification;
+                } else if ("label".equals(fieldName)) {
+                    List label = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSuggestResultValue.label = label;
+                } else if ("term".equals(fieldName)) {
+                    List term
+                        = reader.readArray(reader1 -> TermSearchResultValue.fromJson(reader1));
+                    deserializedSuggestResultValue.term = term;
+                } else if ("contact".equals(fieldName)) {
+                    List contact
+                        = reader.readArray(reader1 -> ContactSearchResultValue.fromJson(reader1));
+                    deserializedSuggestResultValue.contact = contact;
+                } else if ("assetType".equals(fieldName)) {
+                    List assetType = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSuggestResultValue.assetType = assetType;
+                } else if ("glossaryType".equals(fieldName)) {
+                    deserializedSuggestResultValue.glossaryType = reader.getString();
+                } else if ("glossary".equals(fieldName)) {
+                    deserializedSuggestResultValue.glossary = reader.getString();
+                } else if ("termStatus".equals(fieldName)) {
+                    deserializedSuggestResultValue.termStatus = reader.getString();
+                } else if ("termTemplate".equals(fieldName)) {
+                    List termTemplate = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSuggestResultValue.termTemplate = termTemplate;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedSuggestResultValue.longDescription = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSuggestResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermSearchResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermSearchResultValue.java
index 87675f2980b7..9843da816f03 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermSearchResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermSearchResultValue.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The context.
  */
 @Immutable
-public final class TermSearchResultValue {
+public final class TermSearchResultValue implements JsonSerializable {
     /*
      * The name of the term.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The name of the glossary which contains the term.
      */
     @Generated
-    @JsonProperty(value = "glossaryName")
     private String glossaryName;
 
     /*
      * The GUID of the term.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /**
@@ -70,4 +71,48 @@ public String getGlossaryName() {
     public String getGuid() {
         return this.guid;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("glossaryName", this.glossaryName);
+        jsonWriter.writeStringField("guid", this.guid);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TermSearchResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TermSearchResultValue if the JsonReader was pointing to an instance of it, or null if it
+     * was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the TermSearchResultValue.
+     */
+    @Generated
+    public static TermSearchResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            TermSearchResultValue deserializedTermSearchResultValue = new TermSearchResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("name".equals(fieldName)) {
+                    deserializedTermSearchResultValue.name = reader.getString();
+                } else if ("glossaryName".equals(fieldName)) {
+                    deserializedTermSearchResultValue.glossaryName = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedTermSearchResultValue.guid = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedTermSearchResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermStatus.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermStatus.java
index 68d29b7d247f..047187bd4083 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermStatus.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -54,7 +53,6 @@ public TermStatus() {
      * @return the corresponding TermStatus.
      */
     @Generated
-    @JsonCreator
     public static TermStatus fromString(String name) {
         return fromString(name, TermStatus.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java
index 426f0574942c..116e82a3d729 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,110 +18,95 @@
  * Term template definition for glossary term.
  */
 @Fluent
-public final class TermTemplateDef {
+public final class TermTemplateDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /**
@@ -456,4 +445,87 @@ public TermTemplateDef setAttributeDefs(List attributeDefs) {
         this.attributeDefs = attributeDefs;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TermTemplateDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TermTemplateDef if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the TermTemplateDef.
+     */
+    @Generated
+    public static TermTemplateDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            TermTemplateDef deserializedTermTemplateDef = new TermTemplateDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedTermTemplateDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedTermTemplateDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedTermTemplateDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedTermTemplateDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedTermTemplateDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedTermTemplateDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedTermTemplateDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedTermTemplateDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedTermTemplateDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedTermTemplateDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedTermTemplateDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedTermTemplateDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedTermTemplateDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedTermTemplateDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedTermTemplateDef.attributeDefs = attributeDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedTermTemplateDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeBoundary.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeBoundary.java
index c2d8d9f5c787..a7e0e4eb11d6 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeBoundary.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeBoundary.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Captures time-boundary details.
  */
 @Fluent
-public final class TimeBoundary {
+public final class TimeBoundary implements JsonSerializable {
     /*
      * The end of the time boundary.
      */
     @Generated
-    @JsonProperty(value = "endTime")
     private String endTime;
 
     /*
      * The start of the time boundary.
      */
     @Generated
-    @JsonProperty(value = "startTime")
     private String startTime;
 
     /*
      * The timezone of the time boundary.
      */
     @Generated
-    @JsonProperty(value = "timeZone")
     private String timeZone;
 
     /**
@@ -106,4 +107,48 @@ public TimeBoundary setTimeZone(String timeZone) {
         this.timeZone = timeZone;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("endTime", this.endTime);
+        jsonWriter.writeStringField("startTime", this.startTime);
+        jsonWriter.writeStringField("timeZone", this.timeZone);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TimeBoundary from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TimeBoundary if the JsonReader was pointing to an instance of it, or null if it was
+     * pointing to JSON null.
+     * @throws IOException If an error occurs while reading the TimeBoundary.
+     */
+    @Generated
+    public static TimeBoundary fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            TimeBoundary deserializedTimeBoundary = new TimeBoundary();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("endTime".equals(fieldName)) {
+                    deserializedTimeBoundary.endTime = reader.getString();
+                } else if ("startTime".equals(fieldName)) {
+                    deserializedTimeBoundary.startTime = reader.getString();
+                } else if ("timeZone".equals(fieldName)) {
+                    deserializedTimeBoundary.timeZone = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedTimeBoundary;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeZone.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeZone.java
index 92de8ea4c710..21488cc59eb5 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeZone.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeZone.java
@@ -6,54 +6,52 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The timezone information.
  */
 @Fluent
-public final class TimeZone {
+public final class TimeZone implements JsonSerializable {
     /*
      * The value of the daylight saving time.
      */
     @Generated
-    @JsonProperty(value = "dstSavings")
     private Integer dstSavings;
 
     /*
      * The ID of the timezone.
      */
     @Generated
-    @JsonProperty(value = "id")
     private String id;
 
     /*
      * An array of available IDs.
      */
     @Generated
-    @JsonProperty(value = "availableIds")
     private List availableIds;
 
     /*
      * The timezone information.
      */
     @Generated
-    @JsonProperty(value = "default")
     private TimeZone defaultProperty;
 
     /*
      * The display name of the timezone.
      */
     @Generated
-    @JsonProperty(value = "displayName")
     private String displayName;
 
     /*
      * The raw offset of the timezone.
      */
     @Generated
-    @JsonProperty(value = "rawOffset")
     private Integer rawOffset;
 
     /**
@@ -194,4 +192,58 @@ public TimeZone setRawOffset(Integer rawOffset) {
         this.rawOffset = rawOffset;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("dstSavings", this.dstSavings);
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeArrayField("availableIds", this.availableIds, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("default", this.defaultProperty);
+        jsonWriter.writeStringField("displayName", this.displayName);
+        jsonWriter.writeNumberField("rawOffset", this.rawOffset);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TimeZone from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TimeZone if the JsonReader was pointing to an instance of it, or null if it was pointing
+     * to JSON null.
+     * @throws IOException If an error occurs while reading the TimeZone.
+     */
+    @Generated
+    public static TimeZone fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            TimeZone deserializedTimeZone = new TimeZone();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("dstSavings".equals(fieldName)) {
+                    deserializedTimeZone.dstSavings = reader.getNullable(JsonReader::getInt);
+                } else if ("id".equals(fieldName)) {
+                    deserializedTimeZone.id = reader.getString();
+                } else if ("availableIds".equals(fieldName)) {
+                    List availableIds = reader.readArray(reader1 -> reader1.getString());
+                    deserializedTimeZone.availableIds = availableIds;
+                } else if ("default".equals(fieldName)) {
+                    deserializedTimeZone.defaultProperty = TimeZone.fromJson(reader);
+                } else if ("displayName".equals(fieldName)) {
+                    deserializedTimeZone.displayName = reader.getString();
+                } else if ("rawOffset".equals(fieldName)) {
+                    deserializedTimeZone.rawOffset = reader.getNullable(JsonReader::getInt);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedTimeZone;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TypeCategory.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TypeCategory.java
index d1e9080ebc23..57be21099b0a 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TypeCategory.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TypeCategory.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -90,7 +89,6 @@ public TypeCategory() {
      * @return the corresponding TypeCategory.
      */
     @Generated
-    @JsonCreator
     public static TypeCategory fromString(String name) {
         return fromString(name, TypeCategory.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/module-info.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/module-info.java
index 502b0da6e9dc..1823805e11f7 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/module-info.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/module-info.java
@@ -4,7 +4,8 @@
 
 module com.azure.analytics.purview.datamap {
     requires transitive com.azure.core;
+    requires transitive com.azure.json;
     exports com.azure.analytics.purview.datamap;
     exports com.azure.analytics.purview.datamap.models;
-    opens com.azure.analytics.purview.datamap.models to com.azure.core, com.fasterxml.jackson.databind;
+    opens com.azure.analytics.purview.datamap.models to com.azure.core;
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationAsyncClient.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationAsyncClient.java
index 3ee6ee99b6d5..6dfaf6040e53 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationAsyncClient.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationAsyncClient.java
@@ -53,70 +53,39 @@ public final class TextTranslationAsyncClient {
 
     /**
      * Gets the set of languages currently supported by other operations of the Translator.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * + * is appropriate for your scenario, see the description of the [response object](#response-body). *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. + *
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages + * to return. * Allowed group names are: `translation`, `transliteration` and `dictionary`. * If no scope is given, then all groups are returned, which is equivalent to passing * `scope=translation,transliteration,dictionary`. To decide which set of supported languages - * is appropriate for your scenario, see the description of the [response object](#response-body).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * is not available. + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or + *
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of + * the fields in the response are names of languages or * names of regions. Use this parameter to define the language in which these names are returned. * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` * to request names in French or use the value `zh-Hant` to request names in Chinese Traditional. * Names are provided in the English language when a target language is not specified or when localization - * is not available.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize - * the response. - * If the resource has not been modified, the service will return status code 304 and an empty response body.
If-None-MatchStringNoPassing the value of the ETag response header in an + * If-None-Match field will allow the service to optimize the response. + * If the resource has not been modified, the service will return status code 304 and an empty response + * body.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     translation (Optional): {
@@ -182,128 +151,65 @@ public Mono> getLanguagesWithResponse(RequestOptions reques
 
     /**
      * Translate Text.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * + * specifies that the service is allowed to fall back to a general system when a custom system doesn't + * exist. *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by + *
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are + * available to translate from by * looking up supported languages using the translation scope. If the from parameter isn't specified, * automatic language detection is applied to determine the source language. * * You must use the from parameter rather than autodetection when using the dynamic dictionary feature. - * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, - * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations + * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or + * HTML text. Any HTML needs to be a well-formed, + * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. + * This parameter is used to get translations * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator - * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. - * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. - * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. - * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. - * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. + * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in + * translations. + * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", + * "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in + * translations. + * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection + * from source text to translated text. + * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries + * for the input text and the translated text. + * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the + * input text can't be identified. * Language autodetection is applied when the from parameter is omitted. If detection fails, - * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a general system when a custom system doesn't exist. + * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a + * general system when a custom system doesn't exist. * Possible values are: true (default) or false. * * allowFallback=false specifies that the translation should only use systems trained for the category specified * by the request. If a translation for language X to language Y requires chaining through a pivot language E, * then all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. * If no system is found with the specific category, the request will return a 400 status code. allowFallback=true - * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -311,9 +217,9 @@ public Mono> getLanguagesWithResponse(RequestOptions reques
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -371,28 +277,16 @@ public Mono> translateWithResponse(List to, BinaryD
 
     /**
      * Transliterate Text.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -400,9 +294,9 @@ public Mono> translateWithResponse(List to, BinaryD
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -439,55 +333,26 @@ public Mono> transliterateWithResponse(String language, Str
 
     /**
      * Find Sentence Boundaries.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. - * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. - * If a script isn't specified, the default script of the language will be assumed.
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. + * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. + * If a script isn't specified, the default script of the language will be assumed.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -495,9 +360,9 @@ public Mono> transliterateWithResponse(String language, Str
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -529,28 +394,16 @@ public Mono> findSentenceBoundariesWithResponse(BinaryData
 
     /**
      * Lookup Dictionary Entries.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -558,9 +411,9 @@ public Mono> findSentenceBoundariesWithResponse(BinaryData
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -608,28 +461,16 @@ public Mono> lookupDictionaryEntriesWithResponse(String fro
 
     /**
      * Lookup Dictionary Examples.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -638,9 +479,9 @@ public Mono> lookupDictionaryEntriesWithResponse(String fro
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClient.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClient.java
index fa17ea0de4f1..18fe599d41b5 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClient.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClient.java
@@ -51,70 +51,39 @@ public final class TextTranslationClient {
 
     /**
      * Gets the set of languages currently supported by other operations of the Translator.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * + * is appropriate for your scenario, see the description of the [response object](#response-body). *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. + *
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages + * to return. * Allowed group names are: `translation`, `transliteration` and `dictionary`. * If no scope is given, then all groups are returned, which is equivalent to passing * `scope=translation,transliteration,dictionary`. To decide which set of supported languages - * is appropriate for your scenario, see the description of the [response object](#response-body).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * is not available. + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or + *
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of + * the fields in the response are names of languages or * names of regions. Use this parameter to define the language in which these names are returned. * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` * to request names in French or use the value `zh-Hant` to request names in Chinese Traditional. * Names are provided in the English language when a target language is not specified or when localization - * is not available.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize - * the response. - * If the resource has not been modified, the service will return status code 304 and an empty response body.
If-None-MatchStringNoPassing the value of the ETag response header in an + * If-None-Match field will allow the service to optimize the response. + * If the resource has not been modified, the service will return status code 304 and an empty response + * body.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     translation (Optional): {
@@ -180,128 +149,65 @@ public Response getLanguagesWithResponse(RequestOptions requestOptio
 
     /**
      * Translate Text.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * + * specifies that the service is allowed to fall back to a general system when a custom system doesn't + * exist. *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by + *
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are + * available to translate from by * looking up supported languages using the translation scope. If the from parameter isn't specified, * automatic language detection is applied to determine the source language. * * You must use the from parameter rather than autodetection when using the dynamic dictionary feature. - * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, - * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations + * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or + * HTML text. Any HTML needs to be a well-formed, + * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. + * This parameter is used to get translations * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator - * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. - * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. - * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. - * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. - * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. + * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in + * translations. + * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", + * "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in + * translations. + * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection + * from source text to translated text. + * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries + * for the input text and the translated text. + * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the + * input text can't be identified. * Language autodetection is applied when the from parameter is omitted. If detection fails, - * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a general system when a custom system doesn't exist. + * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a + * general system when a custom system doesn't exist. * Possible values are: true (default) or false. * * allowFallback=false specifies that the translation should only use systems trained for the category specified * by the request. If a translation for language X to language Y requires chaining through a pivot language E, * then all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. * If no system is found with the specific category, the request will return a 400 status code. allowFallback=true - * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -309,9 +215,9 @@ public Response getLanguagesWithResponse(RequestOptions requestOptio
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -369,28 +275,16 @@ public Response translateWithResponse(List to, BinaryData re
 
     /**
      * Transliterate Text.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -398,9 +292,9 @@ public Response translateWithResponse(List to, BinaryData re
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -437,55 +331,26 @@ public Response transliterateWithResponse(String language, String fr
 
     /**
      * Find Sentence Boundaries.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. - * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. - * If a script isn't specified, the default script of the language will be assumed.
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. + * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. + * If a script isn't specified, the default script of the language will be assumed.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -493,9 +358,9 @@ public Response transliterateWithResponse(String language, String fr
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -527,28 +392,16 @@ public Response findSentenceBoundariesWithResponse(BinaryData reques
 
     /**
      * Lookup Dictionary Entries.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -556,9 +409,9 @@ public Response findSentenceBoundariesWithResponse(BinaryData reques
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -606,28 +459,16 @@ public Response lookupDictionaryEntriesWithResponse(String from, Str
 
     /**
      * Lookup Dictionary Examples.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -636,9 +477,9 @@ public Response lookupDictionaryEntriesWithResponse(String from, Str
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1021,7 +862,8 @@ public List lookupDictionaryEntries(String from, String to
             requestOptions.setHeader(HttpHeaderName.fromString("X-ClientTraceId"), clientTraceId);
         }
         return lookupDictionaryEntriesWithResponse(from, to, BinaryData.fromObject(requestBody), requestOptions)
-            .getValue().toObject(TYPE_REFERENCE_LIST_DICTIONARY_LOOKUP_ITEM);
+            .getValue()
+            .toObject(TYPE_REFERENCE_LIST_DICTIONARY_LOOKUP_ITEM);
     }
 
     /**
@@ -1046,7 +888,8 @@ public List lookupDictionaryEntries(String from, String to
         // Generated convenience method for lookupDictionaryEntriesWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return lookupDictionaryEntriesWithResponse(from, to, BinaryData.fromObject(requestBody), requestOptions)
-            .getValue().toObject(TYPE_REFERENCE_LIST_DICTIONARY_LOOKUP_ITEM);
+            .getValue()
+            .toObject(TYPE_REFERENCE_LIST_DICTIONARY_LOOKUP_ITEM);
     }
 
     /**
@@ -1076,7 +919,8 @@ public List lookupDictionaryExamples(String from, String
             requestOptions.setHeader(HttpHeaderName.fromString("X-ClientTraceId"), clientTraceId);
         }
         return lookupDictionaryExamplesWithResponse(from, to, BinaryData.fromObject(requestBody), requestOptions)
-            .getValue().toObject(TYPE_REFERENCE_LIST_DICTIONARY_EXAMPLE_ITEM);
+            .getValue()
+            .toObject(TYPE_REFERENCE_LIST_DICTIONARY_EXAMPLE_ITEM);
     }
 
     /**
@@ -1102,7 +946,8 @@ public List lookupDictionaryExamples(String from, String
         // Generated convenience method for lookupDictionaryExamplesWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return lookupDictionaryExamplesWithResponse(from, to, BinaryData.fromObject(requestBody), requestOptions)
-            .getValue().toObject(TYPE_REFERENCE_LIST_DICTIONARY_EXAMPLE_ITEM);
+            .getValue()
+            .toObject(TYPE_REFERENCE_LIST_DICTIONARY_EXAMPLE_ITEM);
     }
 
     @Generated
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClientBuilder.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClientBuilder.java
index ea0e0941684e..e42f659524f1 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClientBuilder.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClientBuilder.java
@@ -3,16 +3,14 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.ai.translation.text;
 
+import com.azure.core.client.traits.TokenCredentialTrait;
+import com.azure.core.client.traits.KeyCredentialTrait;
 import com.azure.ai.translation.text.implementation.TextTranslationClientImpl;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.ServiceClientBuilder;
 import com.azure.core.client.traits.ConfigurationTrait;
 import com.azure.core.client.traits.EndpointTrait;
 import com.azure.core.client.traits.HttpTrait;
-import com.azure.core.client.traits.KeyCredentialTrait;
-import com.azure.core.client.traits.TokenCredentialTrait;
-import com.azure.core.credential.KeyCredential;
-import com.azure.core.credential.TokenCredential;
 import com.azure.core.http.HttpClient;
 import com.azure.core.http.HttpHeaderName;
 import com.azure.core.http.HttpHeaders;
@@ -23,8 +21,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -38,12 +36,14 @@
 import com.azure.core.util.builder.ClientBuilderUtil;
 import com.azure.core.util.logging.ClientLogger;
 import com.azure.core.util.serializer.JacksonAdapter;
-import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import com.azure.core.credential.KeyCredential;
+import com.azure.core.credential.TokenCredential;
+import java.net.MalformedURLException;
+import java.net.URL;
 
 /**
  * A builder for creating a new instance of the TextTranslationClient type.
@@ -97,7 +97,7 @@ public TextTranslationClientBuilder() {
     @Override
     public TextTranslationClientBuilder pipeline(HttpPipeline pipeline) {
         if (this.pipeline != null && pipeline == null) {
-            LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured.");
+            LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured.");
         }
         this.pipeline = pipeline;
         return this;
@@ -335,7 +335,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -349,12 +350,15 @@ private HttpPipeline createHttpPipeline() {
                 policies.add(new TranslatorRegionAuthenticationPolicy(this.region));
             }
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/implementation/TextTranslationClientImpl.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/implementation/TextTranslationClientImpl.java
index f3b6555fa242..d6af2a11fbda 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/implementation/TextTranslationClientImpl.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/implementation/TextTranslationClientImpl.java
@@ -150,8 +150,8 @@ public TextTranslationClientImpl(HttpPipeline httpPipeline, SerializerAdapter se
     }
 
     /**
-     * The interface defining all the services for TextTranslationClient to be used by the proxy service to perform
-     * REST calls.
+     * The interface defining all the services for TextTranslationClient to be used by the proxy service to perform REST
+     * calls.
      */
     @Host("{Endpoint}")
     @ServiceInterface(name = "TextTranslationClien")
@@ -289,70 +289,39 @@ Response lookupDictionaryExamplesSync(@HostParam("Endpoint") String
 
     /**
      * Gets the set of languages currently supported by other operations of the Translator.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * + * is appropriate for your scenario, see the description of the [response object](#response-body). *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. + *
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages + * to return. * Allowed group names are: `translation`, `transliteration` and `dictionary`. * If no scope is given, then all groups are returned, which is equivalent to passing * `scope=translation,transliteration,dictionary`. To decide which set of supported languages - * is appropriate for your scenario, see the description of the [response object](#response-body).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * is not available. + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or + *
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of + * the fields in the response are names of languages or * names of regions. Use this parameter to define the language in which these names are returned. * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` * to request names in French or use the value `zh-Hant` to request names in Chinese Traditional. * Names are provided in the English language when a target language is not specified or when localization - * is not available.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize - * the response. - * If the resource has not been modified, the service will return status code 304 and an empty response body.
If-None-MatchStringNoPassing the value of the ETag response header in an + * If-None-Match field will allow the service to optimize the response. + * If the resource has not been modified, the service will return status code 304 and an empty response + * body.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     translation (Optional): {
@@ -419,70 +388,39 @@ public Mono> getLanguagesWithResponseAsync(RequestOptions r
 
     /**
      * Gets the set of languages currently supported by other operations of the Translator.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * + * is appropriate for your scenario, see the description of the [response object](#response-body). *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. + *
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages + * to return. * Allowed group names are: `translation`, `transliteration` and `dictionary`. * If no scope is given, then all groups are returned, which is equivalent to passing * `scope=translation,transliteration,dictionary`. To decide which set of supported languages - * is appropriate for your scenario, see the description of the [response object](#response-body).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * is not available. + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or + *
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of + * the fields in the response are names of languages or * names of regions. Use this parameter to define the language in which these names are returned. * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` * to request names in French or use the value `zh-Hant` to request names in Chinese Traditional. * Names are provided in the English language when a target language is not specified or when localization - * is not available.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize - * the response. - * If the resource has not been modified, the service will return status code 304 and an empty response body.
If-None-MatchStringNoPassing the value of the ETag response header in an + * If-None-Match field will allow the service to optimize the response. + * If the resource has not been modified, the service will return status code 304 and an empty response + * body.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Response Body Schema - *

+ *

Response Body Schema

+ * *
{@code
      * {
      *     translation (Optional): {
@@ -549,128 +487,65 @@ public Response getLanguagesWithResponse(RequestOptions requestOptio
 
     /**
      * Translate Text.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * + * specifies that the service is allowed to fall back to a general system when a custom system doesn't + * exist. *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by + *
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are + * available to translate from by * looking up supported languages using the translation scope. If the from parameter isn't specified, * automatic language detection is applied to determine the source language. * * You must use the from parameter rather than autodetection when using the dynamic dictionary feature. - * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, - * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations + * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or + * HTML text. Any HTML needs to be a well-formed, + * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. + * This parameter is used to get translations * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator - * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. - * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. - * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. - * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. - * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. + * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in + * translations. + * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", + * "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in + * translations. + * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection + * from source text to translated text. + * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries + * for the input text and the translated text. + * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the + * input text can't be identified. * Language autodetection is applied when the from parameter is omitted. If detection fails, - * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a general system when a custom system doesn't exist. + * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a + * general system when a custom system doesn't exist. * Possible values are: true (default) or false. * * allowFallback=false specifies that the translation should only use systems trained for the category specified * by the request. If a translation for language X to language Y requires chaining through a pivot language E, * then all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. * If no system is found with the specific category, the request will return a 400 status code. allowFallback=true - * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -678,9 +553,9 @@ public Response getLanguagesWithResponse(RequestOptions requestOptio
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -740,128 +615,65 @@ public Mono> translateWithResponseAsync(List to, Bi
 
     /**
      * Translate Text.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * + * - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * + * specifies that the service is allowed to fall back to a general system when a custom system doesn't + * exist. *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by + *
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are + * available to translate from by * looking up supported languages using the translation scope. If the from parameter isn't specified, * automatic language detection is applied to determine the source language. * * You must use the from parameter rather than autodetection when using the dynamic dictionary feature. - * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, - * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations + * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or + * HTML text. Any HTML needs to be a well-formed, + * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. + * This parameter is used to get translations * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator - * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. - * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. - * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. - * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. - * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. + * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in + * translations. + * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", + * "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in + * translations. + * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection + * from source text to translated text. + * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries + * for the input text and the translated text. + * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the + * input text can't be identified. * Language autodetection is applied when the from parameter is omitted. If detection fails, - * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a general system when a custom system doesn't exist. + * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a + * general system when a custom system doesn't exist. * Possible values are: true (default) or false. * * allowFallback=false specifies that the translation should only use systems trained for the category specified * by the request. If a translation for language X to language Y requires chaining through a pivot language E, * then all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. * If no system is found with the specific category, the request will return a 400 status code. allowFallback=true - * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -869,9 +681,9 @@ public Mono> translateWithResponseAsync(List to, Bi
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -931,28 +743,16 @@ public Response translateWithResponse(List to, BinaryData re
 
     /**
      * Transliterate Text.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -960,9 +760,9 @@ public Response translateWithResponse(List to, BinaryData re
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -999,28 +799,16 @@ public Mono> transliterateWithResponseAsync(String language
 
     /**
      * Transliterate Text.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1028,9 +816,9 @@ public Mono> transliterateWithResponseAsync(String language
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1067,55 +855,26 @@ public Response transliterateWithResponse(String language, String fr
 
     /**
      * Find Sentence Boundaries.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. - * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. - * If a script isn't specified, the default script of the language will be assumed.
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. + * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. + * If a script isn't specified, the default script of the language will be assumed.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1123,9 +882,9 @@ public Response transliterateWithResponse(String language, String fr
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1158,55 +917,26 @@ public Mono> findSentenceBoundariesWithResponseAsync(Binary
 
     /**
      * Find Sentence Boundaries.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. - * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. - * If a script isn't specified, the default script of the language will be assumed.
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. + * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. + * If a script isn't specified, the default script of the language will be assumed.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1214,9 +944,9 @@ public Mono> findSentenceBoundariesWithResponseAsync(Binary
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1249,28 +979,16 @@ public Response findSentenceBoundariesWithResponse(BinaryData reques
 
     /**
      * Lookup Dictionary Entries.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1278,9 +996,9 @@ public Response findSentenceBoundariesWithResponse(BinaryData reques
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1329,28 +1047,16 @@ public Mono> lookupDictionaryEntriesWithResponseAsync(Strin
 
     /**
      * Lookup Dictionary Entries.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1358,9 +1064,9 @@ public Mono> lookupDictionaryEntriesWithResponseAsync(Strin
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1409,28 +1115,16 @@ public Response lookupDictionaryEntriesWithResponse(String from, Str
 
     /**
      * Lookup Dictionary Examples.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1439,9 +1133,9 @@ public Response lookupDictionaryEntriesWithResponse(String from, Str
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1483,28 +1177,16 @@ public Mono> lookupDictionaryExamplesWithResponseAsync(Stri
 
     /**
      * Lookup Dictionary Examples.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* * - * - * - * - * - * - * - * - * - * - * - * - * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the + * request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

+ * *
{@code
      * [
      *      (Required){
@@ -1513,9 +1195,9 @@ public Mono> lookupDictionaryExamplesWithResponseAsync(Stri
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ * + *

Response Body Schema

+ * *
{@code
      * [
      *      (Required){
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BackTranslation.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BackTranslation.java
index b527fc07c8a3..19ad9e17122c 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BackTranslation.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BackTranslation.java
@@ -20,7 +20,7 @@ public final class BackTranslation {
      */
     @Generated
     @JsonProperty(value = "normalizedText")
-    private String normalizedText;
+    private final String normalizedText;
 
     /*
      * A string giving the source term that is a back-translation of the target in a form best
@@ -28,7 +28,7 @@ public final class BackTranslation {
      */
     @Generated
     @JsonProperty(value = "displayText")
-    private String displayText;
+    private final String displayText;
 
     /*
      * An integer representing the number of examples that are available for this translation pair.
@@ -41,16 +41,15 @@ public final class BackTranslation {
      */
     @Generated
     @JsonProperty(value = "numExamples")
-    private int numExamples;
+    private final int numExamples;
 
     /*
      * An integer representing the frequency of this translation pair in the data. The main purpose of this
-     * field is to provide a user interface with a means to sort back-translations so the most frequent terms are
-     * first.
+     * field is to provide a user interface with a means to sort back-translations so the most frequent terms are first.
      */
     @Generated
     @JsonProperty(value = "frequencyCount")
-    private int frequencyCount;
+    private final int frequencyCount;
 
     /**
      * Creates an instance of BackTranslation class.
@@ -115,8 +114,7 @@ public int getNumExamples() {
     /**
      * Get the frequencyCount property: An integer representing the frequency of this translation pair in the data. The
      * main purpose of this
-     * field is to provide a user interface with a means to sort back-translations so the most frequent terms are
-     * first.
+     * field is to provide a user interface with a means to sort back-translations so the most frequent terms are first.
      *
      * @return the frequencyCount value.
      */
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BreakSentenceItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BreakSentenceItem.java
index 09612564f9d0..cdc855e568d9 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BreakSentenceItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BreakSentenceItem.java
@@ -28,7 +28,7 @@ public final class BreakSentenceItem {
      */
     @Generated
     @JsonProperty(value = "sentLen")
-    private List sentLen;
+    private final List sentLen;
 
     /**
      * Creates an instance of BreakSentenceItem class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/CommonScriptModel.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/CommonScriptModel.java
index fb0ddfecd174..8917ef934a46 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/CommonScriptModel.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/CommonScriptModel.java
@@ -19,28 +19,28 @@ public class CommonScriptModel {
      */
     @Generated
     @JsonProperty(value = "code")
-    private String code;
+    private final String code;
 
     /*
      * Display name of the script in the locale requested via Accept-Language header.
      */
     @Generated
     @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Display name of the language in the locale native for the language.
      */
     @Generated
     @JsonProperty(value = "nativeName")
-    private String nativeName;
+    private final String nativeName;
 
     /*
      * Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      */
     @Generated
     @JsonProperty(value = "dir")
-    private String dir;
+    private final String dir;
 
     /**
      * Creates an instance of CommonScriptModel class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DetectedLanguage.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DetectedLanguage.java
index 22d2c944c0cb..a69eaa9ff4e6 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DetectedLanguage.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DetectedLanguage.java
@@ -19,7 +19,7 @@ public final class DetectedLanguage {
      */
     @Generated
     @JsonProperty(value = "language")
-    private String language;
+    private final String language;
 
     /*
      * A float value indicating the confidence in the result.
@@ -27,7 +27,7 @@ public final class DetectedLanguage {
      */
     @Generated
     @JsonProperty(value = "score")
-    private double score;
+    private final double score;
 
     /**
      * Creates an instance of DetectedLanguage class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExample.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExample.java
index 7b48d86d423c..8947e8c41ba2 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExample.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExample.java
@@ -21,7 +21,7 @@ public final class DictionaryExample {
      */
     @Generated
     @JsonProperty(value = "sourcePrefix")
-    private String sourcePrefix;
+    private final String sourcePrefix;
 
     /*
      * A string equal to the actual term looked up. The string is added with sourcePrefix
@@ -30,7 +30,7 @@ public final class DictionaryExample {
      */
     @Generated
     @JsonProperty(value = "sourceTerm")
-    private String sourceTerm;
+    private final String sourceTerm;
 
     /*
      * The string to concatenate after the value of sourceTerm to form a complete example.
@@ -39,28 +39,28 @@ public final class DictionaryExample {
      */
     @Generated
     @JsonProperty(value = "sourceSuffix")
-    private String sourceSuffix;
+    private final String sourceSuffix;
 
     /*
      * A string similar to sourcePrefix but for the target.
      */
     @Generated
     @JsonProperty(value = "targetPrefix")
-    private String targetPrefix;
+    private final String targetPrefix;
 
     /*
      * A string similar to sourceTerm but for the target.
      */
     @Generated
     @JsonProperty(value = "targetTerm")
-    private String targetTerm;
+    private final String targetTerm;
 
     /*
      * A string similar to sourceSuffix but for the target.
      */
     @Generated
     @JsonProperty(value = "targetSuffix")
-    private String targetSuffix;
+    private final String targetSuffix;
 
     /**
      * Creates an instance of DictionaryExample class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleItem.java
index c3b91ef5a1bd..029b31b1182e 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleItem.java
@@ -21,7 +21,7 @@ public final class DictionaryExampleItem {
      */
     @Generated
     @JsonProperty(value = "normalizedSource")
-    private String normalizedSource;
+    private final String normalizedSource;
 
     /*
      * A string giving the normalized form of the target term. Generally, this should be identical
@@ -29,14 +29,14 @@ public final class DictionaryExampleItem {
      */
     @Generated
     @JsonProperty(value = "normalizedTarget")
-    private String normalizedTarget;
+    private final String normalizedTarget;
 
     /*
      * A list of examples for the (source term, target term) pair.
      */
     @Generated
     @JsonProperty(value = "examples")
-    private List examples;
+    private final List examples;
 
     /**
      * Creates an instance of DictionaryExampleItem class.
@@ -56,8 +56,8 @@ private DictionaryExampleItem(@JsonProperty(value = "normalizedSource") String n
     }
 
     /**
-     * Get the normalizedSource property: A string giving the normalized form of the source term. Generally, this
-     * should be identical
+     * Get the normalizedSource property: A string giving the normalized form of the source term. Generally, this should
+     * be identical
      * to the value of the Text field at the matching list index in the body of the request.
      *
      * @return the normalizedSource value.
@@ -68,8 +68,8 @@ public String getNormalizedSource() {
     }
 
     /**
-     * Get the normalizedTarget property: A string giving the normalized form of the target term. Generally, this
-     * should be identical
+     * Get the normalizedTarget property: A string giving the normalized form of the target term. Generally, this should
+     * be identical
      * to the value of the Translation field at the matching list index in the body of the request.
      *
      * @return the normalizedTarget value.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleTextItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleTextItem.java
index 90455888a62c..f47c4c03b792 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleTextItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleTextItem.java
@@ -15,13 +15,13 @@
 public final class DictionaryExampleTextItem extends InputTextItem {
 
     /*
-     * A string specifying the translated text previously returned by the Dictionary lookup operation.
-     * This should be the value from the normalizedTarget field in the translations list of the Dictionary
+     * A string specifying the translated text previously returned by the Dictionary lookup operation. 
+     * This should be the value from the normalizedTarget field in the translations list of the Dictionary 
      * lookup response. The service will return examples for the specific source-target word-pair.
      */
     @Generated
     @JsonProperty(value = "translation")
-    private String translation;
+    private final String translation;
 
     /**
      * Creates an instance of DictionaryExampleTextItem class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryLookupItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryLookupItem.java
index f0a33e1bbe63..77b4a40a042e 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryLookupItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryLookupItem.java
@@ -22,7 +22,7 @@ public final class DictionaryLookupItem {
      */
     @Generated
     @JsonProperty(value = "normalizedSource")
-    private String normalizedSource;
+    private final String normalizedSource;
 
     /*
      * A string giving the source term in a form best suited for end-user display.
@@ -31,14 +31,14 @@ public final class DictionaryLookupItem {
      */
     @Generated
     @JsonProperty(value = "displaySource")
-    private String displaySource;
+    private final String displaySource;
 
     /*
      * A list of translations for the source term.
      */
     @Generated
     @JsonProperty(value = "translations")
-    private List translations;
+    private final List translations;
 
     /**
      * Creates an instance of DictionaryLookupItem class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryTranslation.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryTranslation.java
index 83a382d58c28..cfcae0e5ca62 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryTranslation.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryTranslation.java
@@ -21,7 +21,7 @@ public final class DictionaryTranslation {
      */
     @Generated
     @JsonProperty(value = "normalizedTarget")
-    private String normalizedTarget;
+    private final String normalizedTarget;
 
     /*
      * A string giving the term in the target language and in a form best suited
@@ -31,34 +31,34 @@ public final class DictionaryTranslation {
      */
     @Generated
     @JsonProperty(value = "displayTarget")
-    private String displayTarget;
+    private final String displayTarget;
 
     /*
      * A string associating this term with a part-of-speech tag.
      */
     @Generated
     @JsonProperty(value = "posTag")
-    private String posTag;
+    private final String posTag;
 
     /*
-     * A value between 0.0 and 1.0 which represents the "confidence"
-     * (or perhaps more accurately, "probability in the training data") of that translation pair.
+     * A value between 0.0 and 1.0 which represents the "confidence" 
+     * (or perhaps more accurately, "probability in the training data") of that translation pair. 
      * The sum of confidence scores for one source word may or may not sum to 1.0.
      */
     @Generated
     @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /*
      * A string giving the word to display as a prefix of the translation. Currently,
      * this is the gendered determiner of nouns, in languages that have gendered determiners.
-     * For example, the prefix of the Spanish word "mosca" is "la", since "mosca" is a feminine noun in Spanish.
-     * This is only dependent on the translation, and not on the source.
+     * For example, the prefix of the Spanish word "mosca" is "la", since "mosca" is a feminine noun in Spanish. 
+     * This is only dependent on the translation, and not on the source. 
      * If there is no prefix, it will be the empty string.
      */
     @Generated
     @JsonProperty(value = "prefixWord")
-    private String prefixWord;
+    private final String prefixWord;
 
     /*
      * A list of "back translations" of the target. For example, source words that the target can translate to.
@@ -68,7 +68,7 @@ public final class DictionaryTranslation {
      */
     @Generated
     @JsonProperty(value = "backTranslations")
-    private List backTranslations;
+    private final List backTranslations;
 
     /**
      * Creates an instance of DictionaryTranslation class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/InputTextItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/InputTextItem.java
index f1f7e3a6bc16..09e34d1074c3 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/InputTextItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/InputTextItem.java
@@ -19,7 +19,7 @@ public class InputTextItem {
      */
     @Generated
     @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /**
      * Creates an instance of InputTextItem class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityAction.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityAction.java
index 68527e2c056a..6714ab3c142d 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityAction.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityAction.java
@@ -9,7 +9,7 @@
 import java.util.Collection;
 
 /**
- * Defines values for ProfanityAction.
+ * Translator profanity actions.
  */
 public final class ProfanityAction extends ExpandableStringEnum {
 
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityMarker.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityMarker.java
index 07cd32aa1978..a35252e5ab57 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityMarker.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityMarker.java
@@ -9,7 +9,7 @@
 import java.util.Collection;
 
 /**
- * Defines values for ProfanityMarker.
+ * Translator profanity markers.
  */
 public final class ProfanityMarker extends ExpandableStringEnum {
 
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SentenceLength.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SentenceLength.java
index 9fc2d94799ed..86ea9b09b24a 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SentenceLength.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SentenceLength.java
@@ -16,20 +16,20 @@
 public final class SentenceLength {
 
     /*
-     * An integer array representing the lengths of the sentences in the input text.
+     * An integer array representing the lengths of the sentences in the input text. 
      * The length of the array is the number of sentences, and the values are the length of each sentence.
      */
     @Generated
     @JsonProperty(value = "srcSentLen")
-    private List srcSentLen;
+    private final List srcSentLen;
 
     /*
-     * An integer array representing the lengths of the sentences in the translated text.
+     * An integer array representing the lengths of the sentences in the translated text. 
      * The length of the array is the number of sentences, and the values are the length of each sentence.
      */
     @Generated
     @JsonProperty(value = "transSentLen")
-    private List transSentLen;
+    private final List transSentLen;
 
     /**
      * Creates an instance of SentenceLength class.
@@ -57,8 +57,7 @@ public List getSrcSentLen() {
     }
 
     /**
-     * Get the transSentLen property: An integer array representing the lengths of the sentences in the translated
-     * text.
+     * Get the transSentLen property: An integer array representing the lengths of the sentences in the translated text.
      * The length of the array is the number of sentences, and the values are the length of each sentence.
      *
      * @return the transSentLen value.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceDictionaryLanguage.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceDictionaryLanguage.java
index f660a145c232..c4620f14d586 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceDictionaryLanguage.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceDictionaryLanguage.java
@@ -20,28 +20,28 @@ public final class SourceDictionaryLanguage {
      */
     @Generated
     @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Display name of the language in the locale native for this language.
      */
     @Generated
     @JsonProperty(value = "nativeName")
-    private String nativeName;
+    private final String nativeName;
 
     /*
      * Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      */
     @Generated
     @JsonProperty(value = "dir")
-    private String dir;
+    private final String dir;
 
     /*
      * List of languages with alterative translations and examples for the query expressed in the source language.
      */
     @Generated
     @JsonProperty(value = "translations")
-    private List translations;
+    private final List translations;
 
     /**
      * Creates an instance of SourceDictionaryLanguage class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceText.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceText.java
index 1ed0572ad995..633a805bff2d 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceText.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceText.java
@@ -19,7 +19,7 @@ public final class SourceText {
      */
     @Generated
     @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /**
      * Creates an instance of SourceText class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TargetDictionaryLanguage.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TargetDictionaryLanguage.java
index d822d8d0a7ba..08bdb3ce3677 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TargetDictionaryLanguage.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TargetDictionaryLanguage.java
@@ -19,28 +19,28 @@ public final class TargetDictionaryLanguage {
      */
     @Generated
     @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Display name of the language in the locale native for this language.
      */
     @Generated
     @JsonProperty(value = "nativeName")
-    private String nativeName;
+    private final String nativeName;
 
     /*
      * Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      */
     @Generated
     @JsonProperty(value = "dir")
-    private String dir;
+    private final String dir;
 
     /*
      * Language code identifying the target language.
      */
     @Generated
     @JsonProperty(value = "code")
-    private String code;
+    private final String code;
 
     /**
      * Creates an instance of TargetDictionaryLanguage class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TextType.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TextType.java
index 5f9dc6882440..19f50c7253d7 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TextType.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TextType.java
@@ -9,7 +9,7 @@
 import java.util.Collection;
 
 /**
- * Defines values for TextType.
+ * Translation text type.
  */
 public final class TextType extends ExpandableStringEnum {
 
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextAlignment.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextAlignment.java
index 298b999896e9..540c24a673e8 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextAlignment.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextAlignment.java
@@ -15,16 +15,16 @@
 public final class TranslatedTextAlignment {
 
     /*
-     * Maps input text to translated text. The alignment information is only provided when the request
-     * parameter includeAlignment is true. Alignment is returned as a string value of the following
-     * format: [[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]].
-     * The colon separates start and end index, the dash separates the languages, and space separates the words.
-     * One word may align with zero, one, or multiple words in the other language, and the aligned words may
+     * Maps input text to translated text. The alignment information is only provided when the request 
+     * parameter includeAlignment is true. Alignment is returned as a string value of the following 
+     * format: [[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]]. 
+     * The colon separates start and end index, the dash separates the languages, and space separates the words. 
+     * One word may align with zero, one, or multiple words in the other language, and the aligned words may 
      * be non-contiguous. When no alignment information is available, the alignment element will be empty.
      */
     @Generated
     @JsonProperty(value = "proj")
-    private String proj;
+    private final String proj;
 
     /**
      * Creates an instance of TranslatedTextAlignment class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextItem.java
index 5b3466e0cdf0..043899dd2ff3 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextItem.java
@@ -23,17 +23,17 @@ public final class TranslatedTextItem {
     private DetectedLanguage detectedLanguage;
 
     /*
-     * An array of translation results. The size of the array matches the number of target
+     * An array of translation results. The size of the array matches the number of target 
      * languages specified through the to query parameter.
      */
     @Generated
     @JsonProperty(value = "translations")
-    private List translations;
+    private final List translations;
 
     /*
-     * Input text in the default script of the source language. sourceText property is present only when
-     * the input is expressed in a script that's not the usual script for the language. For example,
-     * if the input were Arabic written in Latin script, then sourceText.text would be the same Arabic text
+     * Input text in the default script of the source language. sourceText property is present only when 
+     * the input is expressed in a script that's not the usual script for the language. For example, 
+     * if the input were Arabic written in Latin script, then sourceText.text would be the same Arabic text 
      * converted into Arab script.
      */
     @Generated
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/Translation.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/Translation.java
index 3a8d349f3078..9e3b2af78a3a 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/Translation.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/Translation.java
@@ -19,14 +19,14 @@ public final class Translation {
      */
     @Generated
     @JsonProperty(value = "to")
-    private String to;
+    private final String to;
 
     /*
      * A string giving the translated text.
      */
     @Generated
     @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /*
      * An object giving the translated text in the script specified by the toScript parameter.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslationLanguage.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslationLanguage.java
index b01b322f0365..04fcc40ed86d 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslationLanguage.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslationLanguage.java
@@ -20,21 +20,21 @@ public final class TranslationLanguage {
      */
     @Generated
     @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Display name of the language in the locale native for this language.
      */
     @Generated
     @JsonProperty(value = "nativeName")
-    private String nativeName;
+    private final String nativeName;
 
     /*
      * Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      */
     @Generated
     @JsonProperty(value = "dir")
-    private String dir;
+    private final String dir;
 
     /**
      * Creates an instance of TranslationLanguage class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterableScript.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterableScript.java
index 9c12d18c1045..e6fdfd141982 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterableScript.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterableScript.java
@@ -20,7 +20,7 @@ public final class TransliterableScript extends CommonScriptModel {
      */
     @Generated
     @JsonProperty(value = "toScripts")
-    private List toScripts;
+    private final List toScripts;
 
     /**
      * Creates an instance of TransliterableScript class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliteratedText.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliteratedText.java
index ab9fd772d7ae..847db7913a4a 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliteratedText.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliteratedText.java
@@ -19,14 +19,14 @@ public final class TransliteratedText {
      */
     @Generated
     @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /*
      * A string specifying the script used in the output.
      */
     @Generated
     @JsonProperty(value = "script")
-    private String script;
+    private final String script;
 
     /**
      * Creates an instance of TransliteratedText class.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterationLanguage.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterationLanguage.java
index ed4042cdfce5..c2d3fa1d21d0 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterationLanguage.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterationLanguage.java
@@ -22,21 +22,21 @@ public final class TransliterationLanguage {
      */
     @Generated
     @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Display name of the language in the locale native for this language.
      */
     @Generated
     @JsonProperty(value = "nativeName")
-    private String nativeName;
+    private final String nativeName;
 
     /*
      * List of scripts to convert from.
      */
     @Generated
     @JsonProperty(value = "scripts")
-    private List scripts;
+    private final List scripts;
 
     /**
      * Creates an instance of TransliterationLanguage class.
diff --git a/sdk/translation/azure-ai-translation-text/tsp-location.yaml b/sdk/translation/azure-ai-translation-text/tsp-location.yaml
index 0bf4ee5359e2..c08c8e33b954 100644
--- a/sdk/translation/azure-ai-translation-text/tsp-location.yaml
+++ b/sdk/translation/azure-ai-translation-text/tsp-location.yaml
@@ -1,3 +1,3 @@
 directory: specification/translation/Azure.AI.TextTranslation
-commit: 01a71545e82bb98b8137d3038150c436d46a59ed
+commit: 9b1d6b68cb4ab26724d6e813b7649a40902d622d
 repo: Azure/azure-rest-api-specs