From 7d4b17aefecc711ca12a92e287d63ace5c75d594 Mon Sep 17 00:00:00 2001
From: Mike Guo Response Body Schema Request Body Schema Response Body Schema Response Body Schema Request Body Schema Response Body Schema Request Body Schema Response Body Schema Request Body Schema Response Body Schema Request Body Schema Response Body Schema Request Body Schema Response Body Schema Response Body Schema Response Body Schema Response Body Schema Response Body Schema Response Body Schema Response Body Schema Response Body Schema Request Body Schema Response Body Schema Response Body Schema Response Body Schema Response Headers Request Body Schema Response Body Schema Response Body Schema Response Body Schema Response Body Schema Request Body Schema Response Body Schema Response Body Schema Response Body Schema Request Body Schema Response Body Schema Request Body Schema Response Body Schema Request Body Schema Response Body Schema Query Parameters Response Body Schema Response Body Schema Request Body Schema Response Body Schema Response Body Schema Request Body Schema Response Body Schema Request Body Schema Response Body Schema Request Body Schema Response Body Schema Request Body Schema Response Body Schema Request Body Schema Response Body Schema Response Body Schema Response Body Schema Response Body Schema Response Body Schema Response Body Schema
* {@code
* {
@@ -93,7 +100,7 @@ public final class AgentsAsyncClient {
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -124,6 +131,9 @@ public final class AgentsAsyncClient {
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -141,7 +151,9 @@ public final class AgentsAsyncClient {
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -188,7 +200,7 @@ public Mono
* {@code
* {
@@ -197,7 +209,7 @@ public Mono
- *
+ *
*
* {@code
* {
@@ -225,7 +238,7 @@ public Mono
* {@code
* {
@@ -357,7 +370,7 @@ public Mono
* {@code
* {
@@ -530,7 +513,7 @@ public Mono
- *
+ *
*
* {@code
* {
@@ -612,7 +600,7 @@ public Mono
* {@code
* {
@@ -714,7 +707,7 @@ Mono
- *
+ *
*
* {@code
* {
@@ -748,7 +741,7 @@ Mono
* {@code
* {
@@ -895,9 +894,9 @@ Mono
- *
+ *
*
* {@code
* {
@@ -918,7 +917,7 @@ Mono
* {@code
* {
@@ -1028,9 +1032,9 @@ Mono
- *
+ *
*
* {@code
* {
@@ -1051,7 +1055,7 @@ Mono
* {@code
* {
@@ -1161,9 +1170,9 @@ Mono
- *
+ *
*
* {@code
* {
@@ -1177,7 +1186,7 @@ Mono
* {@code
* {
@@ -1416,7 +1425,7 @@ public Mono
* Name Type Required Description
+ * Allowed values: "prompt", "hosted", "workflow", "external", "voice".
* kind String No Filter agents by kind. If not provided, all agents are returned.
- * Allowed values: "prompt", "hosted", "workflow", "external".
@@ -1570,7 +1579,7 @@ public PagedFluxlimit Integer No A limit on the number of objects to be returned. Limit can range
* between 1 and 100, and the
* default is 20.
* {@code
* {
@@ -1591,7 +1600,7 @@ public PagedFlux
* {@code
* {
@@ -1799,7 +1813,7 @@ public PagedFlux
* {@code
* {
@@ -1919,7 +1934,7 @@ Mono
* {@code
* {
@@ -1971,6 +1986,7 @@ Mono
* {@code
* {
@@ -2246,7 +2264,7 @@ Mono
* {@code
* {
@@ -2371,7 +2394,7 @@ Mono
* {@code
* {
@@ -2489,6 +2517,9 @@ Mono
- *
+ *
*
* {@code
* {
@@ -2550,7 +2582,7 @@ Mono
* {@code
* {
@@ -2666,7 +2703,7 @@ public Mono
* {@code
* BinaryData
* }
*
- *
+ *
*
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
*
* {@code
* {
@@ -2846,9 +2883,9 @@ public Mono
- *
+ *
*
* {@code
* {
@@ -2886,7 +2923,7 @@ public Mono
* {@code
* {
@@ -2989,7 +3026,7 @@ public Mono
* {@code
* {
@@ -3050,7 +3087,7 @@ public PagedFlux
* {@code
* {
@@ -3087,15 +3124,15 @@ public Mono
* {@code
* BinaryData
* }
*
- *
+ *
*
* {@code
* {
@@ -3182,7 +3219,7 @@ public Mono
* {@code
* BinaryData
@@ -3300,7 +3337,7 @@ public Mono
* {@code
* {
@@ -4293,4 +4330,490 @@ public PagedFlux
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * state: String(enabled/disabled) (Required)
+ * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * draft: Boolean (Optional)
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * status: String(active/disabled) (Optional)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ * agent_endpoint (Optional): {
+ * version_selector (Optional): {
+ * version_selection_rules (Optional, Required on create): [
+ * (Optional, Required on create){
+ * type: String(FixedRatio) (Required)
+ * agent_version: String (Optional, Required on create)
+ * }
+ * ]
+ * }
+ * protocol_configuration (Optional): {
+ * activity (Optional): {
+ * enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * }
+ * responses (Optional): {
+ * }
+ * a2a (Optional): {
+ * }
+ * mcp (Optional): {
+ * }
+ * invocations (Optional): {
+ * }
+ * invocations_ws (Optional): {
+ * }
+ * }
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+ * }
+ * ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+ * }
+ * digital_worker_type: String(m365) (Optional)
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param body The kind-specific inputs for generating and creating an agent.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ *
+ * {@code
+ * {
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to publish.
+ * @param publishAgentToMicrosoft365Request The publishAgentToMicrosoft365Request parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return response from publishing an agent to Microsoft 365 / Microsoft Teams along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent to generate the app package for.
+ * @param getMicrosoft365AppPackageRequest The getMicrosoft365AppPackageRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ *
+ * Name Type Required Description
+ * publishAsDigitalWorker Boolean No When true, returns defaults for publishing the
+ * agent as an autopilot (digital worker) agent.
+ * {@code
+ * {
+ * appPublishScope: String(Personal/Shared/Tenant) (Optional)
+ * agentName: String (Optional)
+ * agentDisplayName: String (Optional)
+ * appRegistrationClientId: String (Optional)
+ * botServiceArmId: String (Optional)
+ * appVersion: String (Optional)
+ * recommendedNextAppVersion: String (Optional)
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono
* {@code
* {
@@ -89,7 +96,7 @@ public final class AgentsClient {
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -120,6 +127,9 @@ public final class AgentsClient {
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -137,7 +147,9 @@ public final class AgentsClient {
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -183,7 +195,7 @@ public Response
* {@code
* {
@@ -192,7 +204,7 @@ public Response
- *
+ *
*
* {@code
* {
@@ -220,7 +233,7 @@ public Response
* {@code
* {
@@ -350,7 +363,7 @@ public void deleteAgentVersion(String agentName, String agentVersion) {
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -453,41 +466,12 @@ public PagedIterable
* {@code
* {
@@ -498,7 +482,7 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition
* }
* description: String (Optional)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -506,6 +490,7 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition
* blueprint_reference (Optional): {
* type: String(ManagedAgentIdentityBlueprint) (Required)
* }
+ * digital_worker_type: String(m365) (Optional)
* draft: Boolean (Optional)
* agent_endpoint (Optional): {
* version_selector (Optional): {
@@ -519,6 +504,9 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -536,6 +524,7 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
* agent_card (Optional): {
* version: String (Optional, Required on create)
@@ -557,9 +546,9 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition
* }
* }
*
- *
+ *
*
* {@code
* {
@@ -580,7 +569,7 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -611,6 +600,9 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -628,7 +620,9 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -673,7 +667,7 @@ Response
* {@code
* {
@@ -682,7 +676,7 @@ Response
- *
+ *
*
* {@code
* {
@@ -716,7 +710,7 @@ Response
* {@code
* {
@@ -863,9 +863,9 @@ AgentDetails updateAgent(String agentName, AgentDefinition definition) {
* }
* }
*
- *
+ *
*
* {@code
* {
@@ -886,7 +886,7 @@ AgentDetails updateAgent(String agentName, AgentDefinition definition) {
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -917,6 +917,9 @@ AgentDetails updateAgent(String agentName, AgentDefinition definition) {
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -934,7 +937,9 @@ AgentDetails updateAgent(String agentName, AgentDefinition definition) {
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -980,7 +985,7 @@ Response
* {@code
* {
@@ -995,9 +1000,9 @@ Response
- *
+ *
*
* {@code
* {
@@ -1018,7 +1023,7 @@ Response
* {@code
* {
@@ -1128,9 +1138,9 @@ Response
- *
+ *
*
* {@code
* {
@@ -1144,7 +1154,7 @@ Response
* {@code
* {
@@ -1376,7 +1386,7 @@ public AgentVersionDetails createAgentVersionFromManifest(String agentName, Stri
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1499,7 +1509,7 @@ public PagedIterable
* Name Type Required Description
+ * Allowed values: "prompt", "hosted", "workflow", "external", "voice".
* kind String No Filter agents by kind. If not provided, all agents are returned.
- * Allowed values: "prompt", "hosted", "workflow", "external".
@@ -1517,7 +1527,7 @@ public PagedIterablelimit Integer No A limit on the number of objects to be returned. Limit can range
* between 1 and 100, and the
* default is 20.
* {@code
* {
@@ -1538,7 +1548,7 @@ public PagedIterable
* {@code
* {
@@ -1745,11 +1760,11 @@ public PagedIterable
* {@code
* {
@@ -1852,7 +1867,7 @@ Response
* {@code
* {
@@ -1904,6 +1919,7 @@ AgentDetails createAgent(CreateAgentOptions options) {
.setMetadata(options.getMetadata())
.setDescription(options.getDescription())
.setBlueprintReference(options.getBlueprintReference())
+ .setDigitalWorkerType(options.getDigitalWorkerType())
.setDraft(options.isDraft())
.setAgentEndpoint(options.getAgentEndpoint())
.setAgentCard(options.getAgentCard());
@@ -2002,7 +2018,7 @@ public AgentVersionDetails createAgentVersion(String agentName, CreateAgentVersi
*/
@Generated
@ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedIterable
* {@code
* {
@@ -2152,7 +2169,7 @@ AgentDetails updateAgent(String agentName, AgentDefinition definition, Map createAgentFromCodeWithResponse(String agentName, String co
* irrelevant).
* Maximum upload size is 250 MB.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2276,7 +2298,7 @@ Response createAgentFromCodeWithResponse(String agentName, String co
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -2307,6 +2329,9 @@ Response createAgentFromCodeWithResponse(String agentName, String co
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2324,7 +2349,9 @@ Response createAgentFromCodeWithResponse(String agentName, String co
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2377,7 +2404,7 @@ Response updateAgentFromCodeWithResponse(String agentName, String co
*
* Applies a merge-patch update to the specified agent endpoint configuration.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -2393,6 +2420,9 @@ Response updateAgentFromCodeWithResponse(String agentName, String co
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2410,6 +2440,7 @@ Response updateAgentFromCodeWithResponse(String agentName, String co
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
* agent_card (Optional): {
* version: String (Optional, Required on create)
@@ -2431,9 +2462,9 @@ Response updateAgentFromCodeWithResponse(String agentName, String co
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2454,7 +2485,7 @@ Response updateAgentFromCodeWithResponse(String agentName, String co
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -2485,6 +2516,9 @@ Response updateAgentFromCodeWithResponse(String agentName, String co
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2502,7 +2536,9 @@ Response updateAgentFromCodeWithResponse(String agentName, String co
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2555,7 +2591,7 @@ public Response updateAgentDetailsWithResponse(String agentName, Bin
* irrelevant).
* Maximum upload size is 250 MB.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2569,7 +2605,7 @@ public Response updateAgentDetailsWithResponse(String agentName, Bin
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -2635,13 +2671,13 @@ Response createAgentVersionFromCodeWithResponse(String agentName, St
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* BinaryData
* }
*
- *
+ *
* Response Headers
*
* Response Headers
@@ -2742,7 +2778,7 @@ public Response downloadAgentCodeWithResponse(String agentName, String fil
* The endpoint resolves the backing agent version from `version_indicator` and
* enforces session ownership using the provided user identity for session-mutating operations.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -2753,9 +2789,9 @@ public Response downloadAgentCodeWithResponse(String agentName, String fil
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2793,7 +2829,7 @@ public Response createSessionWithResponse(String agentName, BinaryDa
*
* Retrieves the details of a hosted agent session by agent name and session identifier.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2893,7 +2929,7 @@ public Response stopSessionWithResponse(String agentName, String sessionId
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2954,7 +2990,7 @@ public PagedIterable listSessions(String agentName, RequestOptions r
* The stream remains open until the client disconnects or the server
* terminates the connection. Clients should handle reconnection as needed.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2990,15 +3026,15 @@ public Response getSessionLogStreamWithResponse(String agentName, St
* Uploads binary file content to the specified path in the session sandbox.
* The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
* Request Body Schema
- *
+ *
*
* {@code
* BinaryData
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3082,7 +3118,7 @@ public Response uploadSessionFileWithResponse(String agentName, Stri
* Downloads the file at the specified sandbox path as a binary stream.
* The path is resolved relative to the session home directory.
* Response Body Schema
- *
+ *
*
* {@code
* BinaryData
@@ -3205,7 +3241,7 @@ public Response downloadSessionFileWithResponse(String agentName, String a
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -4125,4 +4161,487 @@ public PagedIterable listAgentVersions(String agentName, In
return serviceClient.listAgentVersions(agentName, requestOptions)
.mapPage(bodyItemValue -> bodyItemValue.toObject(AgentVersionDetails.class));
}
+
+ /**
+ * Generate an agent
+ *
+ * Generates and creates an agent from kind-specific high-level inputs.
+ * The generated definition remains fully editable through the standard agent versioning operations.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * state: String(enabled/disabled) (Required)
+ * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * draft: Boolean (Optional)
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * status: String(active/disabled) (Optional)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ * agent_endpoint (Optional): {
+ * version_selector (Optional): {
+ * version_selection_rules (Optional, Required on create): [
+ * (Optional, Required on create){
+ * type: String(FixedRatio) (Required)
+ * agent_version: String (Optional, Required on create)
+ * }
+ * ]
+ * }
+ * protocol_configuration (Optional): {
+ * activity (Optional): {
+ * enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * }
+ * responses (Optional): {
+ * }
+ * a2a (Optional): {
+ * }
+ * mcp (Optional): {
+ * }
+ * invocations (Optional): {
+ * }
+ * invocations_ws (Optional): {
+ * }
+ * }
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+ * }
+ * ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+ * }
+ * digital_worker_type: String(m365) (Optional)
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param body The kind-specific inputs for generating and creating an agent.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response generateAgentWithResponse(BinaryData body, RequestOptions requestOptions) {
+ return this.serviceClient.generateAgentWithResponse(body, requestOptions);
+ }
+
+ /**
+ * Publish an agent to Microsoft 365
+ *
+ * Publishes a Foundry agent to Microsoft 365 / Microsoft Teams and returns the published title and
+ * Teams app ids.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to publish.
+ * @param publishAgentToMicrosoft365Request The publishAgentToMicrosoft365Request parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return response from publishing an agent to Microsoft 365 / Microsoft Teams along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response publishAgentToMicrosoft365WithResponse(String agentName,
+ BinaryData publishAgentToMicrosoft365Request, RequestOptions requestOptions) {
+ return this.serviceClient.publishAgentToMicrosoft365WithResponse(agentName, publishAgentToMicrosoft365Request,
+ requestOptions);
+ }
+
+ /**
+ * Generate a Microsoft 365 app package
+ *
+ * Generates the Microsoft Teams app package (zip) for a Foundry agent from the supplied publish
+ * request, without publishing it. Returns the app package as `application/zip`.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent to generate the app package for.
+ * @param getMicrosoft365AppPackageRequest The getMicrosoft365AppPackageRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getMicrosoft365AppPackageWithResponse(String agentName,
+ BinaryData getMicrosoft365AppPackageRequest, RequestOptions requestOptions) {
+ return this.serviceClient.getMicrosoft365AppPackageWithResponse(agentName, getMicrosoft365AppPackageRequest,
+ requestOptions);
+ }
+
+ /**
+ * Get Microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * publishAsDigitalWorker Boolean No When true, returns defaults for publishing the
+ * agent as an autopilot (digital worker) agent.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * appPublishScope: String(Personal/Shared/Tenant) (Optional)
+ * agentName: String (Optional)
+ * agentDisplayName: String (Optional)
+ * appRegistrationClientId: String (Optional)
+ * botServiceArmId: String (Optional)
+ * appVersion: String (Optional)
+ * recommendedNextAppVersion: String (Optional)
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getMicrosoft365PublishDefaultsWithResponse(String agentName,
+ RequestOptions requestOptions) {
+ return this.serviceClient.getMicrosoft365PublishDefaultsWithResponse(agentName, requestOptions);
+ }
+
+ /**
+ * Generate an agent
+ *
+ * Generates and creates an agent from kind-specific high-level inputs.
+ * The generated definition remains fully editable through the standard agent versioning operations.
+ *
+ * @param body The kind-specific inputs for generating and creating an agent.
+ * @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 the response.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AgentDetails generateAgent(BinaryData body) {
+ // Generated convenience method for generateAgentWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return generateAgentWithResponse(body, requestOptions).getValue().toObject(AgentDetails.class);
+ }
+
+ /**
+ * Publish an agent to Microsoft 365
+ *
+ * Publishes a Foundry agent to Microsoft 365 / Microsoft Teams and returns the published title and
+ * Teams app ids.
+ *
+ * @param options Options for publishAgentToMicrosoft365 API.
+ * @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 response from publishing an agent to Microsoft 365 / Microsoft Teams.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Microsoft365PublishResponse publishAgentToMicrosoft365(PublishAgentToMicrosoft365Options options) {
+ // Generated convenience method for publishAgentToMicrosoft365WithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ String agentName = options.getAgentName();
+ PublishAgentToMicrosoft365Request publishAgentToMicrosoft365RequestObj
+ = new PublishAgentToMicrosoft365Request(options.getPublishScope())
+ .setAgentDisplayName(options.getAgentDisplayName())
+ .setBotServiceArmId(options.getBotServiceArmId())
+ .setPublishAsAutopilot(options.isPublishAsAutopilot())
+ .setAccessBoundaries(options.getAccessBoundaries())
+ .setOptionalPermissionScopes(options.getOptionalPermissionScopes())
+ .setCanRespondWithoutMention(options.isCanRespondWithoutMention())
+ .setAppVersion(options.getAppVersion())
+ .setShortDescription(options.getShortDescription())
+ .setFullDescription(options.getFullDescription())
+ .setDeveloperName(options.getDeveloperName())
+ .setDeveloperWebsiteUrl(options.getDeveloperWebsiteUrl())
+ .setPrivacyUrl(options.getPrivacyUrl())
+ .setTermsOfUseUrl(options.getTermsOfUseUrl())
+ .setColorIconBase64(options.getColorIconBase64())
+ .setOutlineIconBase64(options.getOutlineIconBase64());
+ BinaryData publishAgentToMicrosoft365Request = BinaryData.fromObject(publishAgentToMicrosoft365RequestObj);
+ return publishAgentToMicrosoft365WithResponse(agentName, publishAgentToMicrosoft365Request, requestOptions)
+ .getValue()
+ .toObject(Microsoft365PublishResponse.class);
+ }
+
+ /**
+ * Generate a Microsoft 365 app package
+ *
+ * Generates the Microsoft Teams app package (zip) for a Foundry agent from the supplied publish
+ * request, without publishing it. Returns the app package as `application/zip`.
+ *
+ * @param options Options for getMicrosoft365AppPackage API.
+ * @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 the response.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public BinaryData getMicrosoft365AppPackage(GetMicrosoft365AppPackageOptions options) {
+ // Generated convenience method for getMicrosoft365AppPackageWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ String agentName = options.getAgentName();
+ GetMicrosoft365AppPackageRequest getMicrosoft365AppPackageRequestObj
+ = new GetMicrosoft365AppPackageRequest(options.getPublishScope())
+ .setAgentDisplayName(options.getAgentDisplayName())
+ .setBotServiceArmId(options.getBotServiceArmId())
+ .setPublishAsAutopilot(options.isPublishAsAutopilot())
+ .setAccessBoundaries(options.getAccessBoundaries())
+ .setOptionalPermissionScopes(options.getOptionalPermissionScopes())
+ .setCanRespondWithoutMention(options.isCanRespondWithoutMention())
+ .setAppVersion(options.getAppVersion())
+ .setShortDescription(options.getShortDescription())
+ .setFullDescription(options.getFullDescription())
+ .setDeveloperName(options.getDeveloperName())
+ .setDeveloperWebsiteUrl(options.getDeveloperWebsiteUrl())
+ .setPrivacyUrl(options.getPrivacyUrl())
+ .setTermsOfUseUrl(options.getTermsOfUseUrl())
+ .setColorIconBase64(options.getColorIconBase64())
+ .setOutlineIconBase64(options.getOutlineIconBase64());
+ BinaryData getMicrosoft365AppPackageRequest = BinaryData.fromObject(getMicrosoft365AppPackageRequestObj);
+ return getMicrosoft365AppPackageWithResponse(agentName, getMicrosoft365AppPackageRequest, requestOptions)
+ .getValue();
+ }
+
+ /**
+ * Get Microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @param publishAsDigitalWorker When true, returns defaults for publishing the agent as an autopilot (digital
+ * worker) agent.
+ * @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 microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Microsoft365PublishDefaults getMicrosoft365PublishDefaults(String agentName,
+ Boolean publishAsDigitalWorker) {
+ // Generated convenience method for getMicrosoft365PublishDefaultsWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (publishAsDigitalWorker != null) {
+ requestOptions.addQueryParam("publishAsDigitalWorker", String.valueOf(publishAsDigitalWorker), false);
+ }
+ return getMicrosoft365PublishDefaultsWithResponse(agentName, requestOptions).getValue()
+ .toObject(Microsoft365PublishDefaults.class);
+ }
+
+ /**
+ * Get Microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @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 microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Microsoft365PublishDefaults getMicrosoft365PublishDefaults(String agentName) {
+ // Generated convenience method for getMicrosoft365PublishDefaultsWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getMicrosoft365PublishDefaultsWithResponse(agentName, requestOptions).getValue()
+ .toObject(Microsoft365PublishDefaults.class);
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java
index d9a4935e69ff..675035be61df 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java
@@ -62,10 +62,14 @@
serviceClients = {
BetaMemoryStoresClient.class,
BetaAgentsClient.class,
+ BetaVoiceAgentWebSocketClient.class,
+ BetaAgentEndpointConversationsClient.class,
AgentsClient.class,
ToolboxesClient.class,
BetaMemoryStoresAsyncClient.class,
BetaAgentsAsyncClient.class,
+ BetaVoiceAgentWebSocketAsyncClient.class,
+ BetaAgentEndpointConversationsAsyncClient.class,
AgentsAsyncClient.class,
ToolboxesAsyncClient.class })
public final class AgentsClientBuilder
@@ -681,4 +685,44 @@ public ToolboxesAsyncClient buildToolboxesAsyncClient() {
public ToolboxesClient buildToolboxesClient() {
return new ToolboxesClient(buildInnerClient().getToolboxes());
}
+
+ /**
+ * Builds an instance of BetaVoiceAgentWebSocketAsyncClient class.
+ *
+ * @return an instance of BetaVoiceAgentWebSocketAsyncClient.
+ */
+ @Generated
+ public BetaVoiceAgentWebSocketAsyncClient buildBetaVoiceAgentWebSocketAsyncClient() {
+ return new BetaVoiceAgentWebSocketAsyncClient(buildInnerClient().getBetaVoiceAgentWebSockets());
+ }
+
+ /**
+ * Builds an instance of BetaAgentEndpointConversationsAsyncClient class.
+ *
+ * @return an instance of BetaAgentEndpointConversationsAsyncClient.
+ */
+ @Generated
+ public BetaAgentEndpointConversationsAsyncClient buildBetaAgentEndpointConversationsAsyncClient() {
+ return new BetaAgentEndpointConversationsAsyncClient(buildInnerClient().getBetaAgentEndpointConversations());
+ }
+
+ /**
+ * Builds an instance of BetaVoiceAgentWebSocketClient class.
+ *
+ * @return an instance of BetaVoiceAgentWebSocketClient.
+ */
+ @Generated
+ public BetaVoiceAgentWebSocketClient buildBetaVoiceAgentWebSocketClient() {
+ return new BetaVoiceAgentWebSocketClient(buildInnerClient().getBetaVoiceAgentWebSockets());
+ }
+
+ /**
+ * Builds an instance of BetaAgentEndpointConversationsClient class.
+ *
+ * @return an instance of BetaAgentEndpointConversationsClient.
+ */
+ @Generated
+ public BetaAgentEndpointConversationsClient buildBetaAgentEndpointConversationsClient() {
+ return new BetaAgentEndpointConversationsClient(buildInnerClient().getBetaAgentEndpointConversations());
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentEndpointConversationsAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentEndpointConversationsAsyncClient.java
new file mode 100644
index 000000000000..63d1c898d058
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentEndpointConversationsAsyncClient.java
@@ -0,0 +1,1419 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents;
+
+import com.azure.ai.agents.implementation.BetaAgentEndpointConversationsImpl;
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.ai.agents.models.PageOrder;
+import com.azure.ai.agents.models.RealtimeConversationItem;
+import com.azure.ai.agents.models.VoiceConversation;
+import com.azure.ai.agents.models.VoiceItemAudioResponse;
+import com.azure.ai.agents.models.VoiceRecordingResponse;
+import com.azure.ai.agents.models.VoiceResponse;
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceClient;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.exception.ClientAuthenticationException;
+import com.azure.core.exception.HttpResponseException;
+import com.azure.core.exception.ResourceModifiedException;
+import com.azure.core.exception.ResourceNotFoundException;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.RequestOptions;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.FluxUtil;
+import java.util.stream.Collectors;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * Initializes a new instance of the asynchronous AgentsClient type.
+ */
+@ServiceClient(builder = AgentsClientBuilder.class, isAsync = true)
+@Beta(warningText = "This class is in preview and may change in future releases.")
+public final class BetaAgentEndpointConversationsAsyncClient {
+
+ @Generated
+ private final BetaAgentEndpointConversationsImpl serviceClient;
+
+ /**
+ * Initializes an instance of BetaAgentEndpointConversationsAsyncClient class.
+ *
+ * @param serviceClient the service client implementation.
+ */
+ @Generated
+ BetaAgentEndpointConversationsAsyncClient(BetaAgentEndpointConversationsImpl serviceClient) {
+ this.serviceClient = serviceClient;
+ }
+
+ /**
+ * List voice agent conversations
+ *
+ * Returns the conversations persisted for the specified voice agent endpoint.
+ * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the
+ * agent definition or enabled by the WebSocket session override.
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * limit Integer No A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20.
+ * order String No Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc".
+ * after String No A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * before String No A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * object: String (Required)
+ * status: String(in_progress/completed/failed) (Required)
+ * created_at: long (Required)
+ * completed_at: Long (Optional)
+ * metadata (Optional): {
+ * String: String (Required)
+ * }
+ * usage (Optional): {
+ * total_tokens: Long (Optional)
+ * input_tokens: Long (Optional)
+ * output_tokens: Long (Optional)
+ * input_token_details (Optional): {
+ * cached_tokens: Long (Optional)
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * cached_tokens_details (Optional): {
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * output_token_details (Optional): {
+ * text_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * last_error (Optional): {
+ * code: String (Required)
+ * message: String (Required)
+ * param: String (Optional)
+ * type: String (Optional)
+ * details (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * debugInfo (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversations(String agentName, RequestOptions requestOptions) {
+ return this.serviceClient.listAgentConversationsAsync(agentName, requestOptions);
+ }
+
+ /**
+ * Get a voice agent conversation
+ *
+ * Retrieves a single conversation recorded for the specified voice agent endpoint by its id.
+ * Returns `404` when the conversation was not persisted (`store = false`) or does not exist.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * object: String (Required)
+ * status: String(in_progress/completed/failed) (Required)
+ * created_at: long (Required)
+ * completed_at: Long (Optional)
+ * metadata (Optional): {
+ * String: String (Required)
+ * }
+ * usage (Optional): {
+ * total_tokens: Long (Optional)
+ * input_tokens: Long (Optional)
+ * output_tokens: Long (Optional)
+ * input_token_details (Optional): {
+ * cached_tokens: Long (Optional)
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * cached_tokens_details (Optional): {
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * output_token_details (Optional): {
+ * text_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * last_error (Optional): {
+ * code: String (Required)
+ * message: String (Required)
+ * param: String (Optional)
+ * type: String (Optional)
+ * details (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * debugInfo (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation to retrieve.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return a voice agent conversation
+ *
+ * Retrieves a single conversation recorded for the specified voice agent endpoint by its id.
+ * Returns `404` when the conversation was not persisted (`store = false`) or does not exist along with
+ * {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getAgentConversationWithResponse(String agentName, String conversationId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationWithResponseAsync(agentName, conversationId, requestOptions);
+ }
+
+ /**
+ * Delete a voice agent conversation
+ *
+ * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is
+ * the customer's explicit data-deletion control for voice conversations.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation to delete.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> deleteAgentConversationWithResponse(String agentName, String conversationId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.deleteAgentConversationWithResponseAsync(agentName, conversationId, requestOptions);
+ }
+
+ /**
+ * List responses in a voice agent conversation
+ *
+ * Returns a paged collection of the responses (model inference turns) recorded for the specified
+ * conversation. The per-response `output` projection may be omitted here; use the response-items route
+ * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`).
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * limit Integer No A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20.
+ * order String No Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc".
+ * after String No A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * before String No A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * object: String(realtime.response) (Optional)
+ * status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+ * status_details (Optional): {
+ * type: String(completed/cancelled/failed/incomplete) (Optional)
+ * reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+ * error (Optional): {
+ * type: String (Optional)
+ * code: String (Optional)
+ * }
+ * }
+ * usage (Optional): {
+ * total_tokens: Long (Optional)
+ * input_tokens: Long (Optional)
+ * output_tokens: Long (Optional)
+ * input_token_details (Optional): {
+ * cached_tokens: Long (Optional)
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * cached_tokens_details (Optional): {
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * output_token_details (Optional): {
+ * text_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * conversation_id: String (Required)
+ * output_modalities (Optional): [
+ * String(text/audio) (Optional)
+ * ]
+ * max_output_tokens: BinaryData (Optional)
+ * output (Optional): [
+ * (Optional){
+ * type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+ * }
+ * ]
+ * audio (Optional): {
+ * output (Optional): {
+ * voice: String (Optional)
+ * voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+ * voice_locale: String (Optional)
+ * format (Optional): {
+ * type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+ * }
+ * }
+ * }
+ * metadata (Optional): {
+ * String: String (Required)
+ * }
+ * temperature: Double (Optional)
+ * created_at: Long (Optional)
+ * completed_at: Long (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose responses are listed.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversationResponses(String agentName, String conversationId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.listAgentConversationResponsesAsync(agentName, conversationId, requestOptions);
+ }
+
+ /**
+ * Get a voice agent conversation response
+ *
+ * Retrieves a single response from the specified conversation by its id, including its `output` items,
+ * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`).
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * object: String(realtime.response) (Optional)
+ * status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+ * status_details (Optional): {
+ * type: String(completed/cancelled/failed/incomplete) (Optional)
+ * reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+ * error (Optional): {
+ * type: String (Optional)
+ * code: String (Optional)
+ * }
+ * }
+ * usage (Optional): {
+ * total_tokens: Long (Optional)
+ * input_tokens: Long (Optional)
+ * output_tokens: Long (Optional)
+ * input_token_details (Optional): {
+ * cached_tokens: Long (Optional)
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * cached_tokens_details (Optional): {
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * output_token_details (Optional): {
+ * text_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * conversation_id: String (Required)
+ * output_modalities (Optional): [
+ * String(text/audio) (Optional)
+ * ]
+ * max_output_tokens: BinaryData (Optional)
+ * output (Optional): [
+ * (Optional){
+ * type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+ * }
+ * ]
+ * audio (Optional): {
+ * output (Optional): {
+ * voice: String (Optional)
+ * voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+ * voice_locale: String (Optional)
+ * format (Optional): {
+ * type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+ * }
+ * }
+ * }
+ * metadata (Optional): {
+ * String: String (Required)
+ * }
+ * temperature: Double (Optional)
+ * created_at: Long (Optional)
+ * completed_at: Long (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the response.
+ * @param responseId The id of the response to retrieve.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return a voice agent conversation response
+ *
+ * Retrieves a single response from the specified conversation by its id, including its `output` items,
+ * `usage`, and status along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getAgentConversationResponseWithResponse(String agentName, String conversationId,
+ String responseId, RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationResponseWithResponseAsync(agentName, conversationId, responseId,
+ requestOptions);
+ }
+
+ /**
+ * List items produced by a voice agent conversation response
+ *
+ * Returns a paged collection of the output items produced by a specific response (the response's output
+ * projection). For the complete ordered conversation history — including user input and client-created
+ * tool outputs — use the conversation items route instead. Returns `404` when the conversation or
+ * response was not persisted (`store = false`).
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * limit Integer No A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20.
+ * order String No Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc".
+ * after String No A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * before String No A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the response.
+ * @param responseId The id of the response whose output items are listed.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversationResponseItems(String agentName, String conversationId,
+ String responseId, RequestOptions requestOptions) {
+ return this.serviceClient.listAgentConversationResponseItemsAsync(agentName, conversationId, responseId,
+ requestOptions);
+ }
+
+ /**
+ * List items in a voice agent conversation
+ *
+ * Returns a paged collection of items — the complete ordered conversation history, including user input,
+ * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the
+ * conversation was not persisted (`store = false`).
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * limit Integer No A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20.
+ * order String No Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc".
+ * after String No A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * before String No A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose items are listed.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversationItems(String agentName, String conversationId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.listAgentConversationItemsAsync(agentName, conversationId, requestOptions);
+ }
+
+ /**
+ * Get a voice agent conversation item
+ *
+ * Retrieves a single item from the specified conversation by its id, including its transcript. An
+ * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item
+ * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by
+ * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted
+ * (`store = false`).
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item to retrieve.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return a voice agent conversation item
+ *
+ * Retrieves a single item from the specified conversation by its id, including its transcript along with
+ * {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getAgentConversationItemWithResponse(String agentName, String conversationId,
+ String itemId, RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationItemWithResponseAsync(agentName, conversationId, itemId,
+ requestOptions);
+ }
+
+ /**
+ * Get a voice agent conversation item's audio metadata
+ *
+ * Returns metadata for a single conversation item's audio segment, including the common playback facts
+ * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and
+ * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI
+ * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials.
+ * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation,
+ * item, or its audio was not persisted.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * conversation_id: String (Required)
+ * item_id: String (Required)
+ * role: String(user/agent) (Optional)
+ * format: String(wav) (Optional)
+ * codec: String(pcm16/pcmu/pcma) (Optional)
+ * sample_rate: Integer (Optional)
+ * channels: Integer (Optional)
+ * start_offset_ms: Long (Optional)
+ * duration_ms: Long (Optional)
+ * blob_uri: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose audio metadata is retrieved.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return a voice agent conversation item's audio metadata
+ *
+ * Returns metadata for a single conversation item's audio segment, including the common playback facts
+ * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and
+ * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI
+ * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials.
+ * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation,
+ * item, or its audio was not persisted along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getAgentConversationItemAudioWithResponse(String agentName, String conversationId,
+ String itemId, RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationItemAudioWithResponseAsync(agentName, conversationId, itemId,
+ requestOptions);
+ }
+
+ /**
+ * Stream a voice agent conversation item's audio
+ *
+ * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS
+ * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the
+ * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri`
+ * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings.
+ * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`).
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose audio is streamed.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getAgentConversationItemAudioContentWithResponse(String agentName,
+ String conversationId, String itemId, RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationItemAudioContentWithResponseAsync(agentName, conversationId,
+ itemId, requestOptions);
+ }
+
+ /**
+ * Get a voice agent conversation's merged recording metadata
+ *
+ * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio
+ * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned
+ * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally
+ * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads
+ * with their own credentials. The recording is built once from the per-turn segments after persistence
+ * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict`
+ * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the
+ * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.
+ * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the
+ * conversation to have persisted audio (`store = true`); otherwise returns `404`.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * conversation_id: String (Required)
+ * format: String(wav) (Required)
+ * sample_rate: int (Required)
+ * channels: int (Required)
+ * channel_layout (Required): {
+ * left: String (Required)
+ * right: String (Required)
+ * }
+ * duration_ms: long (Required)
+ * blob_uri: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose merged recording metadata is retrieved.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return a voice agent conversation's merged recording metadata
+ *
+ * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio
+ * on the right) along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getAgentConversationAudioWithResponse(String agentName, String conversationId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationAudioWithResponseAsync(agentName, conversationId, requestOptions);
+ }
+
+ /**
+ * Stream a voice agent conversation's merged recording
+ *
+ * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service
+ * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS)
+ * recordings the bytes are not proxied — the caller must download directly from customer storage using the
+ * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings.
+ * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with
+ * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the
+ * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.
+ * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation
+ * without persisted audio (`store = false`) returns `404`.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose merged recording is streamed.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getAgentConversationAudioContentWithResponse(String agentName,
+ String conversationId, RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationAudioContentWithResponseAsync(agentName, conversationId,
+ requestOptions);
+ }
+
+ /**
+ * List voice agent conversations
+ *
+ * Returns the conversations persisted for the specified voice agent endpoint.
+ * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the
+ * agent definition or enabled by the WebSocket session override.
+ *
+ * @param agentName The name of the agent.
+ * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the
+ * default is 20.
+ * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc`
+ * for descending order.
+ * @param after A cursor for use in pagination. `after` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * @param before A cursor for use in pagination. `before` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversations(String agentName, Integer limit, PageOrder order,
+ String after, String before) {
+ // Generated convenience method for listAgentConversations
+ RequestOptions requestOptions = new RequestOptions();
+ if (limit != null) {
+ requestOptions.addQueryParam("limit", String.valueOf(limit), false);
+ }
+ if (order != null) {
+ requestOptions.addQueryParam("order", order.toString(), false);
+ }
+ if (after != null) {
+ requestOptions.addQueryParam("after", after, false);
+ }
+ if (before != null) {
+ requestOptions.addQueryParam("before", before, false);
+ }
+ PagedFlux pagedFluxResponse = listAgentConversations(agentName, requestOptions);
+ return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> {
+ Flux> flux = (continuationTokenParam == null)
+ ? pagedFluxResponse.byPage().take(1)
+ : pagedFluxResponse.byPage(continuationTokenParam).take(1);
+ return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
+ pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+ pagedResponse.getValue()
+ .stream()
+ .map(protocolMethodData -> protocolMethodData.toObject(VoiceConversation.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * List voice agent conversations
+ *
+ * Returns the conversations persisted for the specified voice agent endpoint.
+ * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the
+ * agent definition or enabled by the WebSocket session override.
+ *
+ * @param agentName The name of the agent.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversations(String agentName) {
+ // Generated convenience method for listAgentConversations
+ RequestOptions requestOptions = new RequestOptions();
+ PagedFlux pagedFluxResponse = listAgentConversations(agentName, requestOptions);
+ return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> {
+ Flux> flux = (continuationTokenParam == null)
+ ? pagedFluxResponse.byPage().take(1)
+ : pagedFluxResponse.byPage(continuationTokenParam).take(1);
+ return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
+ pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+ pagedResponse.getValue()
+ .stream()
+ .map(protocolMethodData -> protocolMethodData.toObject(VoiceConversation.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * Get a voice agent conversation
+ *
+ * Retrieves a single conversation recorded for the specified voice agent endpoint by its id.
+ * Returns `404` when the conversation was not persisted (`store = false`) or does not exist.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation to retrieve.
+ * @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 a voice agent conversation
+ *
+ * Retrieves a single conversation recorded for the specified voice agent endpoint by its id.
+ * Returns `404` when the conversation was not persisted (`store = false`) or does not exist on successful
+ * completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono getAgentConversation(String agentName, String conversationId) {
+ // Generated convenience method for getAgentConversationWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationWithResponse(agentName, conversationId, requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(VoiceConversation.class));
+ }
+
+ /**
+ * Delete a voice agent conversation
+ *
+ * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is
+ * the customer's explicit data-deletion control for voice conversations.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation to delete.
+ * @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 A {@link Mono} that completes when a successful response is received.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono deleteAgentConversation(String agentName, String conversationId) {
+ // Generated convenience method for deleteAgentConversationWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return deleteAgentConversationWithResponse(agentName, conversationId, requestOptions).flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * List responses in a voice agent conversation
+ *
+ * Returns a paged collection of the responses (model inference turns) recorded for the specified
+ * conversation. The per-response `output` projection may be omitted here; use the response-items route
+ * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose responses are listed.
+ * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the
+ * default is 20.
+ * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc`
+ * for descending order.
+ * @param after A cursor for use in pagination. `after` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * @param before A cursor for use in pagination. `before` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversationResponses(String agentName, String conversationId,
+ Integer limit, PageOrder order, String after, String before) {
+ // Generated convenience method for listAgentConversationResponses
+ RequestOptions requestOptions = new RequestOptions();
+ if (limit != null) {
+ requestOptions.addQueryParam("limit", String.valueOf(limit), false);
+ }
+ if (order != null) {
+ requestOptions.addQueryParam("order", order.toString(), false);
+ }
+ if (after != null) {
+ requestOptions.addQueryParam("after", after, false);
+ }
+ if (before != null) {
+ requestOptions.addQueryParam("before", before, false);
+ }
+ PagedFlux pagedFluxResponse
+ = listAgentConversationResponses(agentName, conversationId, requestOptions);
+ return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> {
+ Flux> flux = (continuationTokenParam == null)
+ ? pagedFluxResponse.byPage().take(1)
+ : pagedFluxResponse.byPage(continuationTokenParam).take(1);
+ return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
+ pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+ pagedResponse.getValue()
+ .stream()
+ .map(protocolMethodData -> protocolMethodData.toObject(VoiceResponse.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * List responses in a voice agent conversation
+ *
+ * Returns a paged collection of the responses (model inference turns) recorded for the specified
+ * conversation. The per-response `output` projection may be omitted here; use the response-items route
+ * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose responses are listed.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversationResponses(String agentName, String conversationId) {
+ // Generated convenience method for listAgentConversationResponses
+ RequestOptions requestOptions = new RequestOptions();
+ PagedFlux pagedFluxResponse
+ = listAgentConversationResponses(agentName, conversationId, requestOptions);
+ return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> {
+ Flux> flux = (continuationTokenParam == null)
+ ? pagedFluxResponse.byPage().take(1)
+ : pagedFluxResponse.byPage(continuationTokenParam).take(1);
+ return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
+ pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+ pagedResponse.getValue()
+ .stream()
+ .map(protocolMethodData -> protocolMethodData.toObject(VoiceResponse.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * Get a voice agent conversation response
+ *
+ * Retrieves a single response from the specified conversation by its id, including its `output` items,
+ * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the response.
+ * @param responseId The id of the response to retrieve.
+ * @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 a voice agent conversation response
+ *
+ * Retrieves a single response from the specified conversation by its id, including its `output` items,
+ * `usage`, and status on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono getAgentConversationResponse(String agentName, String conversationId,
+ String responseId) {
+ // Generated convenience method for getAgentConversationResponseWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationResponseWithResponse(agentName, conversationId, responseId, requestOptions)
+ .flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(VoiceResponse.class));
+ }
+
+ /**
+ * List items produced by a voice agent conversation response
+ *
+ * Returns a paged collection of the output items produced by a specific response (the response's output
+ * projection). For the complete ordered conversation history — including user input and client-created
+ * tool outputs — use the conversation items route instead. Returns `404` when the conversation or
+ * response was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the response.
+ * @param responseId The id of the response whose output items are listed.
+ * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the
+ * default is 20.
+ * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc`
+ * for descending order.
+ * @param after A cursor for use in pagination. `after` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * @param before A cursor for use in pagination. `before` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversationResponseItems(String agentName,
+ String conversationId, String responseId, Integer limit, PageOrder order, String after, String before) {
+ // Generated convenience method for listAgentConversationResponseItems
+ RequestOptions requestOptions = new RequestOptions();
+ if (limit != null) {
+ requestOptions.addQueryParam("limit", String.valueOf(limit), false);
+ }
+ if (order != null) {
+ requestOptions.addQueryParam("order", order.toString(), false);
+ }
+ if (after != null) {
+ requestOptions.addQueryParam("after", after, false);
+ }
+ if (before != null) {
+ requestOptions.addQueryParam("before", before, false);
+ }
+ PagedFlux pagedFluxResponse
+ = listAgentConversationResponseItems(agentName, conversationId, responseId, requestOptions);
+ return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> {
+ Flux> flux = (continuationTokenParam == null)
+ ? pagedFluxResponse.byPage().take(1)
+ : pagedFluxResponse.byPage(continuationTokenParam).take(1);
+ return flux
+ .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
+ pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+ pagedResponse.getValue()
+ .stream()
+ .map(protocolMethodData -> protocolMethodData.toObject(RealtimeConversationItem.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * List items produced by a voice agent conversation response
+ *
+ * Returns a paged collection of the output items produced by a specific response (the response's output
+ * projection). For the complete ordered conversation history — including user input and client-created
+ * tool outputs — use the conversation items route instead. Returns `404` when the conversation or
+ * response was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the response.
+ * @param responseId The id of the response whose output items are listed.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversationResponseItems(String agentName,
+ String conversationId, String responseId) {
+ // Generated convenience method for listAgentConversationResponseItems
+ RequestOptions requestOptions = new RequestOptions();
+ PagedFlux pagedFluxResponse
+ = listAgentConversationResponseItems(agentName, conversationId, responseId, requestOptions);
+ return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> {
+ Flux> flux = (continuationTokenParam == null)
+ ? pagedFluxResponse.byPage().take(1)
+ : pagedFluxResponse.byPage(continuationTokenParam).take(1);
+ return flux
+ .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
+ pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+ pagedResponse.getValue()
+ .stream()
+ .map(protocolMethodData -> protocolMethodData.toObject(RealtimeConversationItem.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * List items in a voice agent conversation
+ *
+ * Returns a paged collection of items — the complete ordered conversation history, including user input,
+ * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the
+ * conversation was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose items are listed.
+ * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the
+ * default is 20.
+ * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc`
+ * for descending order.
+ * @param after A cursor for use in pagination. `after` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * @param before A cursor for use in pagination. `before` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversationItems(String agentName, String conversationId,
+ Integer limit, PageOrder order, String after, String before) {
+ // Generated convenience method for listAgentConversationItems
+ RequestOptions requestOptions = new RequestOptions();
+ if (limit != null) {
+ requestOptions.addQueryParam("limit", String.valueOf(limit), false);
+ }
+ if (order != null) {
+ requestOptions.addQueryParam("order", order.toString(), false);
+ }
+ if (after != null) {
+ requestOptions.addQueryParam("after", after, false);
+ }
+ if (before != null) {
+ requestOptions.addQueryParam("before", before, false);
+ }
+ PagedFlux pagedFluxResponse = listAgentConversationItems(agentName, conversationId, requestOptions);
+ return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> {
+ Flux> flux = (continuationTokenParam == null)
+ ? pagedFluxResponse.byPage().take(1)
+ : pagedFluxResponse.byPage(continuationTokenParam).take(1);
+ return flux
+ .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
+ pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+ pagedResponse.getValue()
+ .stream()
+ .map(protocolMethodData -> protocolMethodData.toObject(RealtimeConversationItem.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * List items in a voice agent conversation
+ *
+ * Returns a paged collection of items — the complete ordered conversation history, including user input,
+ * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the
+ * conversation was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose items are listed.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listAgentConversationItems(String agentName, String conversationId) {
+ // Generated convenience method for listAgentConversationItems
+ RequestOptions requestOptions = new RequestOptions();
+ PagedFlux pagedFluxResponse = listAgentConversationItems(agentName, conversationId, requestOptions);
+ return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> {
+ Flux> flux = (continuationTokenParam == null)
+ ? pagedFluxResponse.byPage().take(1)
+ : pagedFluxResponse.byPage(continuationTokenParam).take(1);
+ return flux
+ .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
+ pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+ pagedResponse.getValue()
+ .stream()
+ .map(protocolMethodData -> protocolMethodData.toObject(RealtimeConversationItem.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * Get a voice agent conversation item
+ *
+ * Retrieves a single item from the specified conversation by its id, including its transcript. An
+ * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item
+ * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by
+ * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted
+ * (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item to retrieve.
+ * @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 a voice agent conversation item
+ *
+ * Retrieves a single item from the specified conversation by its id, including its transcript on successful
+ * completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono getAgentConversationItem(String agentName, String conversationId,
+ String itemId) {
+ // Generated convenience method for getAgentConversationItemWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationItemWithResponse(agentName, conversationId, itemId, requestOptions)
+ .flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(RealtimeConversationItem.class));
+ }
+
+ /**
+ * Get a voice agent conversation item's audio metadata
+ *
+ * Returns metadata for a single conversation item's audio segment, including the common playback facts
+ * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and
+ * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI
+ * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials.
+ * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation,
+ * item, or its audio was not persisted.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose audio metadata is retrieved.
+ * @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 a voice agent conversation item's audio metadata
+ *
+ * Returns metadata for a single conversation item's audio segment, including the common playback facts
+ * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and
+ * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI
+ * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials.
+ * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation,
+ * item, or its audio was not persisted on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono getAgentConversationItemAudio(String agentName, String conversationId,
+ String itemId) {
+ // Generated convenience method for getAgentConversationItemAudioWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationItemAudioWithResponse(agentName, conversationId, itemId, requestOptions)
+ .flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(VoiceItemAudioResponse.class));
+ }
+
+ /**
+ * Stream a voice agent conversation item's audio
+ *
+ * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS
+ * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the
+ * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri`
+ * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings.
+ * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose audio is streamed.
+ * @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 the response body on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono getAgentConversationItemAudioContent(String agentName, String conversationId,
+ String itemId) {
+ // Generated convenience method for getAgentConversationItemAudioContentWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationItemAudioContentWithResponse(agentName, conversationId, itemId, requestOptions)
+ .flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * Get a voice agent conversation's merged recording metadata
+ *
+ * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio
+ * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned
+ * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally
+ * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads
+ * with their own credentials. The recording is built once from the per-turn segments after persistence
+ * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict`
+ * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the
+ * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.
+ * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the
+ * conversation to have persisted audio (`store = true`); otherwise returns `404`.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose merged recording metadata is retrieved.
+ * @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 a voice agent conversation's merged recording metadata
+ *
+ * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio
+ * on the right) on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono getAgentConversationAudio(String agentName, String conversationId) {
+ // Generated convenience method for getAgentConversationAudioWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationAudioWithResponse(agentName, conversationId, requestOptions)
+ .flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(VoiceRecordingResponse.class));
+ }
+
+ /**
+ * Stream a voice agent conversation's merged recording
+ *
+ * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service
+ * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS)
+ * recordings the bytes are not proxied — the caller must download directly from customer storage using the
+ * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings.
+ * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with
+ * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the
+ * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.
+ * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation
+ * without persisted audio (`store = false`) returns `404`.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose merged recording is streamed.
+ * @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 the response body on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono getAgentConversationAudioContent(String agentName, String conversationId) {
+ // Generated convenience method for getAgentConversationAudioContentWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationAudioContentWithResponse(agentName, conversationId, requestOptions)
+ .flatMap(FluxUtil::toMono);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentEndpointConversationsClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentEndpointConversationsClient.java
new file mode 100644
index 000000000000..131e96461eab
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentEndpointConversationsClient.java
@@ -0,0 +1,1307 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents;
+
+import com.azure.ai.agents.implementation.BetaAgentEndpointConversationsImpl;
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.ai.agents.models.PageOrder;
+import com.azure.ai.agents.models.RealtimeConversationItem;
+import com.azure.ai.agents.models.VoiceConversation;
+import com.azure.ai.agents.models.VoiceItemAudioResponse;
+import com.azure.ai.agents.models.VoiceRecordingResponse;
+import com.azure.ai.agents.models.VoiceResponse;
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceClient;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.exception.ClientAuthenticationException;
+import com.azure.core.exception.HttpResponseException;
+import com.azure.core.exception.ResourceModifiedException;
+import com.azure.core.exception.ResourceNotFoundException;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.RequestOptions;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.BinaryData;
+
+/**
+ * Initializes a new instance of the synchronous AgentsClient type.
+ */
+@ServiceClient(builder = AgentsClientBuilder.class)
+@Beta(warningText = "This class is in preview and may change in future releases.")
+public final class BetaAgentEndpointConversationsClient {
+
+ @Generated
+ private final BetaAgentEndpointConversationsImpl serviceClient;
+
+ /**
+ * Initializes an instance of BetaAgentEndpointConversationsClient class.
+ *
+ * @param serviceClient the service client implementation.
+ */
+ @Generated
+ BetaAgentEndpointConversationsClient(BetaAgentEndpointConversationsImpl serviceClient) {
+ this.serviceClient = serviceClient;
+ }
+
+ /**
+ * List voice agent conversations
+ *
+ * Returns the conversations persisted for the specified voice agent endpoint.
+ * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the
+ * agent definition or enabled by the WebSocket session override.
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * limit Integer No A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20.
+ * order String No Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc".
+ * after String No A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * before String No A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * object: String (Required)
+ * status: String(in_progress/completed/failed) (Required)
+ * created_at: long (Required)
+ * completed_at: Long (Optional)
+ * metadata (Optional): {
+ * String: String (Required)
+ * }
+ * usage (Optional): {
+ * total_tokens: Long (Optional)
+ * input_tokens: Long (Optional)
+ * output_tokens: Long (Optional)
+ * input_token_details (Optional): {
+ * cached_tokens: Long (Optional)
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * cached_tokens_details (Optional): {
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * output_token_details (Optional): {
+ * text_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * last_error (Optional): {
+ * code: String (Required)
+ * message: String (Required)
+ * param: String (Optional)
+ * type: String (Optional)
+ * details (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * debugInfo (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversations(String agentName, RequestOptions requestOptions) {
+ return this.serviceClient.listAgentConversations(agentName, requestOptions);
+ }
+
+ /**
+ * Get a voice agent conversation
+ *
+ * Retrieves a single conversation recorded for the specified voice agent endpoint by its id.
+ * Returns `404` when the conversation was not persisted (`store = false`) or does not exist.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * object: String (Required)
+ * status: String(in_progress/completed/failed) (Required)
+ * created_at: long (Required)
+ * completed_at: Long (Optional)
+ * metadata (Optional): {
+ * String: String (Required)
+ * }
+ * usage (Optional): {
+ * total_tokens: Long (Optional)
+ * input_tokens: Long (Optional)
+ * output_tokens: Long (Optional)
+ * input_token_details (Optional): {
+ * cached_tokens: Long (Optional)
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * cached_tokens_details (Optional): {
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * output_token_details (Optional): {
+ * text_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * last_error (Optional): {
+ * code: String (Required)
+ * message: String (Required)
+ * param: String (Optional)
+ * type: String (Optional)
+ * details (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * debugInfo (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation to retrieve.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return a voice agent conversation
+ *
+ * Retrieves a single conversation recorded for the specified voice agent endpoint by its id.
+ * Returns `404` when the conversation was not persisted (`store = false`) or does not exist along with
+ * {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getAgentConversationWithResponse(String agentName, String conversationId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationWithResponse(agentName, conversationId, requestOptions);
+ }
+
+ /**
+ * Delete a voice agent conversation
+ *
+ * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is
+ * the customer's explicit data-deletion control for voice conversations.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation to delete.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteAgentConversationWithResponse(String agentName, String conversationId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.deleteAgentConversationWithResponse(agentName, conversationId, requestOptions);
+ }
+
+ /**
+ * List responses in a voice agent conversation
+ *
+ * Returns a paged collection of the responses (model inference turns) recorded for the specified
+ * conversation. The per-response `output` projection may be omitted here; use the response-items route
+ * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`).
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * limit Integer No A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20.
+ * order String No Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc".
+ * after String No A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * before String No A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * object: String(realtime.response) (Optional)
+ * status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+ * status_details (Optional): {
+ * type: String(completed/cancelled/failed/incomplete) (Optional)
+ * reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+ * error (Optional): {
+ * type: String (Optional)
+ * code: String (Optional)
+ * }
+ * }
+ * usage (Optional): {
+ * total_tokens: Long (Optional)
+ * input_tokens: Long (Optional)
+ * output_tokens: Long (Optional)
+ * input_token_details (Optional): {
+ * cached_tokens: Long (Optional)
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * cached_tokens_details (Optional): {
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * output_token_details (Optional): {
+ * text_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * conversation_id: String (Required)
+ * output_modalities (Optional): [
+ * String(text/audio) (Optional)
+ * ]
+ * max_output_tokens: BinaryData (Optional)
+ * output (Optional): [
+ * (Optional){
+ * type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+ * }
+ * ]
+ * audio (Optional): {
+ * output (Optional): {
+ * voice: String (Optional)
+ * voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+ * voice_locale: String (Optional)
+ * format (Optional): {
+ * type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+ * }
+ * }
+ * }
+ * metadata (Optional): {
+ * String: String (Required)
+ * }
+ * temperature: Double (Optional)
+ * created_at: Long (Optional)
+ * completed_at: Long (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose responses are listed.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversationResponses(String agentName, String conversationId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.listAgentConversationResponses(agentName, conversationId, requestOptions);
+ }
+
+ /**
+ * Get a voice agent conversation response
+ *
+ * Retrieves a single response from the specified conversation by its id, including its `output` items,
+ * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`).
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * object: String(realtime.response) (Optional)
+ * status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+ * status_details (Optional): {
+ * type: String(completed/cancelled/failed/incomplete) (Optional)
+ * reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+ * error (Optional): {
+ * type: String (Optional)
+ * code: String (Optional)
+ * }
+ * }
+ * usage (Optional): {
+ * total_tokens: Long (Optional)
+ * input_tokens: Long (Optional)
+ * output_tokens: Long (Optional)
+ * input_token_details (Optional): {
+ * cached_tokens: Long (Optional)
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * cached_tokens_details (Optional): {
+ * text_tokens: Long (Optional)
+ * image_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * output_token_details (Optional): {
+ * text_tokens: Long (Optional)
+ * audio_tokens: Long (Optional)
+ * }
+ * }
+ * conversation_id: String (Required)
+ * output_modalities (Optional): [
+ * String(text/audio) (Optional)
+ * ]
+ * max_output_tokens: BinaryData (Optional)
+ * output (Optional): [
+ * (Optional){
+ * type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+ * }
+ * ]
+ * audio (Optional): {
+ * output (Optional): {
+ * voice: String (Optional)
+ * voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+ * voice_locale: String (Optional)
+ * format (Optional): {
+ * type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+ * }
+ * }
+ * }
+ * metadata (Optional): {
+ * String: String (Required)
+ * }
+ * temperature: Double (Optional)
+ * created_at: Long (Optional)
+ * completed_at: Long (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the response.
+ * @param responseId The id of the response to retrieve.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return a voice agent conversation response
+ *
+ * Retrieves a single response from the specified conversation by its id, including its `output` items,
+ * `usage`, and status along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getAgentConversationResponseWithResponse(String agentName, String conversationId,
+ String responseId, RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationResponseWithResponse(agentName, conversationId, responseId,
+ requestOptions);
+ }
+
+ /**
+ * List items produced by a voice agent conversation response
+ *
+ * Returns a paged collection of the output items produced by a specific response (the response's output
+ * projection). For the complete ordered conversation history — including user input and client-created
+ * tool outputs — use the conversation items route instead. Returns `404` when the conversation or
+ * response was not persisted (`store = false`).
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * limit Integer No A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20.
+ * order String No Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc".
+ * after String No A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * before String No A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the response.
+ * @param responseId The id of the response whose output items are listed.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversationResponseItems(String agentName, String conversationId,
+ String responseId, RequestOptions requestOptions) {
+ return this.serviceClient.listAgentConversationResponseItems(agentName, conversationId, responseId,
+ requestOptions);
+ }
+
+ /**
+ * List items in a voice agent conversation
+ *
+ * Returns a paged collection of items — the complete ordered conversation history, including user input,
+ * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the
+ * conversation was not persisted (`store = false`).
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * limit Integer No A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20.
+ * order String No Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc".
+ * after String No A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * before String No A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose items are listed.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversationItems(String agentName, String conversationId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.listAgentConversationItems(agentName, conversationId, requestOptions);
+ }
+
+ /**
+ * Get a voice agent conversation item
+ *
+ * Retrieves a single item from the specified conversation by its id, including its transcript. An
+ * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item
+ * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by
+ * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted
+ * (`store = false`).
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item to retrieve.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return a voice agent conversation item
+ *
+ * Retrieves a single item from the specified conversation by its id, including its transcript along with
+ * {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getAgentConversationItemWithResponse(String agentName, String conversationId,
+ String itemId, RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationItemWithResponse(agentName, conversationId, itemId,
+ requestOptions);
+ }
+
+ /**
+ * Get a voice agent conversation item's audio metadata
+ *
+ * Returns metadata for a single conversation item's audio segment, including the common playback facts
+ * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and
+ * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI
+ * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials.
+ * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation,
+ * item, or its audio was not persisted.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * conversation_id: String (Required)
+ * item_id: String (Required)
+ * role: String(user/agent) (Optional)
+ * format: String(wav) (Optional)
+ * codec: String(pcm16/pcmu/pcma) (Optional)
+ * sample_rate: Integer (Optional)
+ * channels: Integer (Optional)
+ * start_offset_ms: Long (Optional)
+ * duration_ms: Long (Optional)
+ * blob_uri: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose audio metadata is retrieved.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return a voice agent conversation item's audio metadata
+ *
+ * Returns metadata for a single conversation item's audio segment, including the common playback facts
+ * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and
+ * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI
+ * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials.
+ * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation,
+ * item, or its audio was not persisted along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getAgentConversationItemAudioWithResponse(String agentName, String conversationId,
+ String itemId, RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationItemAudioWithResponse(agentName, conversationId, itemId,
+ requestOptions);
+ }
+
+ /**
+ * Stream a voice agent conversation item's audio
+ *
+ * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS
+ * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the
+ * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri`
+ * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings.
+ * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`).
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose audio is streamed.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getAgentConversationItemAudioContentWithResponse(String agentName,
+ String conversationId, String itemId, RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationItemAudioContentWithResponse(agentName, conversationId, itemId,
+ requestOptions);
+ }
+
+ /**
+ * Get a voice agent conversation's merged recording metadata
+ *
+ * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio
+ * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned
+ * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally
+ * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads
+ * with their own credentials. The recording is built once from the per-turn segments after persistence
+ * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict`
+ * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the
+ * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.
+ * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the
+ * conversation to have persisted audio (`store = true`); otherwise returns `404`.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * conversation_id: String (Required)
+ * format: String(wav) (Required)
+ * sample_rate: int (Required)
+ * channels: int (Required)
+ * channel_layout (Required): {
+ * left: String (Required)
+ * right: String (Required)
+ * }
+ * duration_ms: long (Required)
+ * blob_uri: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose merged recording metadata is retrieved.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return a voice agent conversation's merged recording metadata
+ *
+ * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio
+ * on the right) along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getAgentConversationAudioWithResponse(String agentName, String conversationId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationAudioWithResponse(agentName, conversationId, requestOptions);
+ }
+
+ /**
+ * Stream a voice agent conversation's merged recording
+ *
+ * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service
+ * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS)
+ * recordings the bytes are not proxied — the caller must download directly from customer storage using the
+ * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings.
+ * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with
+ * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the
+ * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.
+ * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation
+ * without persisted audio (`store = false`) returns `404`.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose merged recording is streamed.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getAgentConversationAudioContentWithResponse(String agentName, String conversationId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.getAgentConversationAudioContentWithResponse(agentName, conversationId,
+ requestOptions);
+ }
+
+ /**
+ * List voice agent conversations
+ *
+ * Returns the conversations persisted for the specified voice agent endpoint.
+ * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the
+ * agent definition or enabled by the WebSocket session override.
+ *
+ * @param agentName The name of the agent.
+ * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the
+ * default is 20.
+ * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc`
+ * for descending order.
+ * @param after A cursor for use in pagination. `after` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * @param before A cursor for use in pagination. `before` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversations(String agentName, Integer limit, PageOrder order,
+ String after, String before) {
+ // Generated convenience method for listAgentConversations
+ RequestOptions requestOptions = new RequestOptions();
+ if (limit != null) {
+ requestOptions.addQueryParam("limit", String.valueOf(limit), false);
+ }
+ if (order != null) {
+ requestOptions.addQueryParam("order", order.toString(), false);
+ }
+ if (after != null) {
+ requestOptions.addQueryParam("after", after, false);
+ }
+ if (before != null) {
+ requestOptions.addQueryParam("before", before, false);
+ }
+ return serviceClient.listAgentConversations(agentName, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(VoiceConversation.class));
+ }
+
+ /**
+ * List voice agent conversations
+ *
+ * Returns the conversations persisted for the specified voice agent endpoint.
+ * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the
+ * agent definition or enabled by the WebSocket session override.
+ *
+ * @param agentName The name of the agent.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversations(String agentName) {
+ // Generated convenience method for listAgentConversations
+ RequestOptions requestOptions = new RequestOptions();
+ return serviceClient.listAgentConversations(agentName, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(VoiceConversation.class));
+ }
+
+ /**
+ * Get a voice agent conversation
+ *
+ * Retrieves a single conversation recorded for the specified voice agent endpoint by its id.
+ * Returns `404` when the conversation was not persisted (`store = false`) or does not exist.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation to retrieve.
+ * @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 a voice agent conversation
+ *
+ * Retrieves a single conversation recorded for the specified voice agent endpoint by its id.
+ * Returns `404` when the conversation was not persisted (`store = false`) or does not exist.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public VoiceConversation getAgentConversation(String agentName, String conversationId) {
+ // Generated convenience method for getAgentConversationWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationWithResponse(agentName, conversationId, requestOptions).getValue()
+ .toObject(VoiceConversation.class);
+ }
+
+ /**
+ * Delete a voice agent conversation
+ *
+ * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is
+ * the customer's explicit data-deletion control for voice conversations.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation to delete.
+ * @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.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void deleteAgentConversation(String agentName, String conversationId) {
+ // Generated convenience method for deleteAgentConversationWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ deleteAgentConversationWithResponse(agentName, conversationId, requestOptions).getValue();
+ }
+
+ /**
+ * List responses in a voice agent conversation
+ *
+ * Returns a paged collection of the responses (model inference turns) recorded for the specified
+ * conversation. The per-response `output` projection may be omitted here; use the response-items route
+ * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose responses are listed.
+ * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the
+ * default is 20.
+ * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc`
+ * for descending order.
+ * @param after A cursor for use in pagination. `after` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * @param before A cursor for use in pagination. `before` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversationResponses(String agentName, String conversationId,
+ Integer limit, PageOrder order, String after, String before) {
+ // Generated convenience method for listAgentConversationResponses
+ RequestOptions requestOptions = new RequestOptions();
+ if (limit != null) {
+ requestOptions.addQueryParam("limit", String.valueOf(limit), false);
+ }
+ if (order != null) {
+ requestOptions.addQueryParam("order", order.toString(), false);
+ }
+ if (after != null) {
+ requestOptions.addQueryParam("after", after, false);
+ }
+ if (before != null) {
+ requestOptions.addQueryParam("before", before, false);
+ }
+ return serviceClient.listAgentConversationResponses(agentName, conversationId, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(VoiceResponse.class));
+ }
+
+ /**
+ * List responses in a voice agent conversation
+ *
+ * Returns a paged collection of the responses (model inference turns) recorded for the specified
+ * conversation. The per-response `output` projection may be omitted here; use the response-items route
+ * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose responses are listed.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversationResponses(String agentName, String conversationId) {
+ // Generated convenience method for listAgentConversationResponses
+ RequestOptions requestOptions = new RequestOptions();
+ return serviceClient.listAgentConversationResponses(agentName, conversationId, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(VoiceResponse.class));
+ }
+
+ /**
+ * Get a voice agent conversation response
+ *
+ * Retrieves a single response from the specified conversation by its id, including its `output` items,
+ * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the response.
+ * @param responseId The id of the response to retrieve.
+ * @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 a voice agent conversation response
+ *
+ * Retrieves a single response from the specified conversation by its id, including its `output` items,
+ * `usage`, and status.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public VoiceResponse getAgentConversationResponse(String agentName, String conversationId, String responseId) {
+ // Generated convenience method for getAgentConversationResponseWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationResponseWithResponse(agentName, conversationId, responseId, requestOptions)
+ .getValue()
+ .toObject(VoiceResponse.class);
+ }
+
+ /**
+ * List items produced by a voice agent conversation response
+ *
+ * Returns a paged collection of the output items produced by a specific response (the response's output
+ * projection). For the complete ordered conversation history — including user input and client-created
+ * tool outputs — use the conversation items route instead. Returns `404` when the conversation or
+ * response was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the response.
+ * @param responseId The id of the response whose output items are listed.
+ * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the
+ * default is 20.
+ * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc`
+ * for descending order.
+ * @param after A cursor for use in pagination. `after` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * @param before A cursor for use in pagination. `before` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversationResponseItems(String agentName,
+ String conversationId, String responseId, Integer limit, PageOrder order, String after, String before) {
+ // Generated convenience method for listAgentConversationResponseItems
+ RequestOptions requestOptions = new RequestOptions();
+ if (limit != null) {
+ requestOptions.addQueryParam("limit", String.valueOf(limit), false);
+ }
+ if (order != null) {
+ requestOptions.addQueryParam("order", order.toString(), false);
+ }
+ if (after != null) {
+ requestOptions.addQueryParam("after", after, false);
+ }
+ if (before != null) {
+ requestOptions.addQueryParam("before", before, false);
+ }
+ return serviceClient.listAgentConversationResponseItems(agentName, conversationId, responseId, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(RealtimeConversationItem.class));
+ }
+
+ /**
+ * List items produced by a voice agent conversation response
+ *
+ * Returns a paged collection of the output items produced by a specific response (the response's output
+ * projection). For the complete ordered conversation history — including user input and client-created
+ * tool outputs — use the conversation items route instead. Returns `404` when the conversation or
+ * response was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the response.
+ * @param responseId The id of the response whose output items are listed.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversationResponseItems(String agentName,
+ String conversationId, String responseId) {
+ // Generated convenience method for listAgentConversationResponseItems
+ RequestOptions requestOptions = new RequestOptions();
+ return serviceClient.listAgentConversationResponseItems(agentName, conversationId, responseId, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(RealtimeConversationItem.class));
+ }
+
+ /**
+ * List items in a voice agent conversation
+ *
+ * Returns a paged collection of items — the complete ordered conversation history, including user input,
+ * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the
+ * conversation was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose items are listed.
+ * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the
+ * default is 20.
+ * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc`
+ * for descending order.
+ * @param after A cursor for use in pagination. `after` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list.
+ * @param before A cursor for use in pagination. `before` is an object ID that defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversationItems(String agentName, String conversationId,
+ Integer limit, PageOrder order, String after, String before) {
+ // Generated convenience method for listAgentConversationItems
+ RequestOptions requestOptions = new RequestOptions();
+ if (limit != null) {
+ requestOptions.addQueryParam("limit", String.valueOf(limit), false);
+ }
+ if (order != null) {
+ requestOptions.addQueryParam("order", order.toString(), false);
+ }
+ if (after != null) {
+ requestOptions.addQueryParam("after", after, false);
+ }
+ if (before != null) {
+ requestOptions.addQueryParam("before", before, false);
+ }
+ return serviceClient.listAgentConversationItems(agentName, conversationId, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(RealtimeConversationItem.class));
+ }
+
+ /**
+ * List items in a voice agent conversation
+ *
+ * Returns a paged collection of items — the complete ordered conversation history, including user input,
+ * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the
+ * conversation was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose items are listed.
+ * @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 the response data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listAgentConversationItems(String agentName, String conversationId) {
+ // Generated convenience method for listAgentConversationItems
+ RequestOptions requestOptions = new RequestOptions();
+ return serviceClient.listAgentConversationItems(agentName, conversationId, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(RealtimeConversationItem.class));
+ }
+
+ /**
+ * Get a voice agent conversation item
+ *
+ * Retrieves a single item from the specified conversation by its id, including its transcript. An
+ * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item
+ * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by
+ * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted
+ * (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item to retrieve.
+ * @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 a voice agent conversation item
+ *
+ * Retrieves a single item from the specified conversation by its id, including its transcript.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public RealtimeConversationItem getAgentConversationItem(String agentName, String conversationId, String itemId) {
+ // Generated convenience method for getAgentConversationItemWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationItemWithResponse(agentName, conversationId, itemId, requestOptions).getValue()
+ .toObject(RealtimeConversationItem.class);
+ }
+
+ /**
+ * Get a voice agent conversation item's audio metadata
+ *
+ * Returns metadata for a single conversation item's audio segment, including the common playback facts
+ * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and
+ * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI
+ * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials.
+ * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation,
+ * item, or its audio was not persisted.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose audio metadata is retrieved.
+ * @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 a voice agent conversation item's audio metadata
+ *
+ * Returns metadata for a single conversation item's audio segment, including the common playback facts
+ * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and
+ * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI
+ * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials.
+ * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation,
+ * item, or its audio was not persisted.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public VoiceItemAudioResponse getAgentConversationItemAudio(String agentName, String conversationId,
+ String itemId) {
+ // Generated convenience method for getAgentConversationItemAudioWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationItemAudioWithResponse(agentName, conversationId, itemId, requestOptions).getValue()
+ .toObject(VoiceItemAudioResponse.class);
+ }
+
+ /**
+ * Stream a voice agent conversation item's audio
+ *
+ * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS
+ * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the
+ * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri`
+ * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings.
+ * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`).
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose audio is streamed.
+ * @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 the response.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public BinaryData getAgentConversationItemAudioContent(String agentName, String conversationId, String itemId) {
+ // Generated convenience method for getAgentConversationItemAudioContentWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationItemAudioContentWithResponse(agentName, conversationId, itemId, requestOptions)
+ .getValue();
+ }
+
+ /**
+ * Get a voice agent conversation's merged recording metadata
+ *
+ * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio
+ * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned
+ * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally
+ * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads
+ * with their own credentials. The recording is built once from the per-turn segments after persistence
+ * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict`
+ * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the
+ * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.
+ * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the
+ * conversation to have persisted audio (`store = true`); otherwise returns `404`.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose merged recording metadata is retrieved.
+ * @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 a voice agent conversation's merged recording metadata
+ *
+ * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio
+ * on the right).
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public VoiceRecordingResponse getAgentConversationAudio(String agentName, String conversationId) {
+ // Generated convenience method for getAgentConversationAudioWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationAudioWithResponse(agentName, conversationId, requestOptions).getValue()
+ .toObject(VoiceRecordingResponse.class);
+ }
+
+ /**
+ * Stream a voice agent conversation's merged recording
+ *
+ * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service
+ * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS)
+ * recordings the bytes are not proxied — the caller must download directly from customer storage using the
+ * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings.
+ * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with
+ * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the
+ * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.
+ * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation
+ * without persisted audio (`store = false`) returns `404`.
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation whose merged recording is streamed.
+ * @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 the response.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public BinaryData getAgentConversationAudioContent(String agentName, String conversationId) {
+ // Generated convenience method for getAgentConversationAudioContentWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getAgentConversationAudioContentWithResponse(agentName, conversationId, requestOptions).getValue();
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketAsyncClient.java
new file mode 100644
index 000000000000..af6c1c0e352b
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketAsyncClient.java
@@ -0,0 +1,183 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents;
+
+import com.azure.ai.agents.implementation.BetaVoiceAgentWebSocketsImpl;
+import com.azure.ai.agents.implementation.models.AgentDefinitionOptInKeys;
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.ai.agents.models.VoiceAgentWebSocketSubprotocol;
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceClient;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.exception.ClientAuthenticationException;
+import com.azure.core.exception.HttpResponseException;
+import com.azure.core.exception.ResourceModifiedException;
+import com.azure.core.exception.ResourceNotFoundException;
+import com.azure.core.http.HttpHeaderName;
+import com.azure.core.http.rest.RequestOptions;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.FluxUtil;
+import reactor.core.publisher.Mono;
+
+/**
+ * Initializes a new instance of the asynchronous AgentsClient type.
+ */
+@ServiceClient(builder = AgentsClientBuilder.class, isAsync = true)
+@Beta(warningText = "This class is in preview and may change in future releases.")
+public final class BetaVoiceAgentWebSocketAsyncClient {
+
+ @Generated
+ private final BetaVoiceAgentWebSocketsImpl serviceClient;
+
+ /**
+ * Initializes an instance of BetaVoiceAgentWebSocketAsyncClient class.
+ *
+ * @param serviceClient the service client implementation.
+ */
+ @Generated
+ BetaVoiceAgentWebSocketAsyncClient(BetaVoiceAgentWebSocketsImpl serviceClient) {
+ this.serviceClient = serviceClient;
+ }
+
+ /**
+ * Connect to a voice agent
+ *
+ * Connects to a voice agent over WebSocket. The client must send an HTTP GET with `Upgrade: websocket`
+ * headers. The optional `realtime` subprotocol is the only accepted subprotocol value. Supply the
+ * `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
+ * query parameter.
+ *
+ * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
+ * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
+ * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * foundry_features String No A query alternative to the `Foundry-Features` header
+ * for clients that cannot set headers during a
+ * WebSocket handshake. Set this to `VoiceAgents=V1Preview`. Either this query parameter or the header is
+ * required. Allowed values: "WorkflowAgents=V1Preview", "ExternalAgents=V1Preview", "DraftAgents=V1Preview",
+ * "VoiceAgents=V1Preview", "DigitalWorker=V1Preview".
+ * store Boolean No Whether to persist the conversation created by this WebSocket
+ * session. If omitted, the service honors the
+ * persisted voice agent definition's configured `store` value. If supplied, this value overrides the
+ * definition's `store` setting for this session only.
+ * x-agent-version-override String No Selects a specific version of the voice agent
+ * for this session.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Header Parameters
+ *
+ * Header Parameters
+ * Name Type Required Description
+ * Sec-WebSocket-Protocol String No The requested WebSocket subprotocol. Omit this
+ * header or request exactly `realtime`. Allowed values: "realtime".
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Response Headers
+ *
+ * Response Headers
+ * Name Type Description
+ * Sec-WebSocket-Protocol String The negotiated WebSocket subprotocol. Present only when the
+ * client requests `realtime`.
+ *
+ *
+ * @param agentName The name of the voice agent.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> connectVoiceAgentWithResponse(String agentName, RequestOptions requestOptions) {
+ return this.serviceClient.connectVoiceAgentWithResponseAsync(agentName, requestOptions);
+ }
+
+ /**
+ * Connect to a voice agent
+ *
+ * Connects to a voice agent over WebSocket. The client must send an HTTP GET with `Upgrade: websocket`
+ * headers. The optional `realtime` subprotocol is the only accepted subprotocol value. Supply the
+ * `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
+ * query parameter.
+ *
+ * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
+ * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
+ * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ *
+ * @param agentName The name of the voice agent.
+ * @param foundryFeaturesQuery A query alternative to the `Foundry-Features` header for clients that cannot set
+ * headers during a
+ * WebSocket handshake. Set this to `VoiceAgents=V1Preview`. Either this query parameter or the header is
+ * required.
+ * @param store Whether to persist the conversation created by this WebSocket session. If omitted, the service
+ * honors the
+ * persisted voice agent definition's configured `store` value. If supplied, this value overrides the
+ * definition's `store` setting for this session only.
+ * @param agentVersionOverride Selects a specific version of the voice agent for this session.
+ * @param websocketSubprotocol The requested WebSocket subprotocol. Omit this header or request exactly `realtime`.
+ * @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 A {@link Mono} that completes when a successful response is received.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono connectVoiceAgent(String agentName, AgentDefinitionOptInKeys foundryFeaturesQuery, Boolean store,
+ String agentVersionOverride, VoiceAgentWebSocketSubprotocol websocketSubprotocol) {
+ // Generated convenience method for connectVoiceAgentWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (foundryFeaturesQuery != null) {
+ requestOptions.addQueryParam("foundry_features", foundryFeaturesQuery.toString(), false);
+ }
+ if (store != null) {
+ requestOptions.addQueryParam("store", String.valueOf(store), false);
+ }
+ if (agentVersionOverride != null) {
+ requestOptions.addQueryParam("x-agent-version-override", agentVersionOverride, false);
+ }
+ if (websocketSubprotocol != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("Sec-WebSocket-Protocol"),
+ websocketSubprotocol.toString());
+ }
+ return connectVoiceAgentWithResponse(agentName, requestOptions).flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * Connect to a voice agent
+ *
+ * Connects to a voice agent over WebSocket. The client must send an HTTP GET with `Upgrade: websocket`
+ * headers. The optional `realtime` subprotocol is the only accepted subprotocol value. Supply the
+ * `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
+ * query parameter.
+ *
+ * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
+ * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
+ * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ *
+ * @param agentName The name of the voice agent.
+ * @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 A {@link Mono} that completes when a successful response is received.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono connectVoiceAgent(String agentName) {
+ // Generated convenience method for connectVoiceAgentWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return connectVoiceAgentWithResponse(agentName, requestOptions).flatMap(FluxUtil::toMono);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketClient.java
new file mode 100644
index 000000000000..1737985bf8fd
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketClient.java
@@ -0,0 +1,179 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents;
+
+import com.azure.ai.agents.implementation.BetaVoiceAgentWebSocketsImpl;
+import com.azure.ai.agents.implementation.models.AgentDefinitionOptInKeys;
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.ai.agents.models.VoiceAgentWebSocketSubprotocol;
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceClient;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.exception.ClientAuthenticationException;
+import com.azure.core.exception.HttpResponseException;
+import com.azure.core.exception.ResourceModifiedException;
+import com.azure.core.exception.ResourceNotFoundException;
+import com.azure.core.http.HttpHeaderName;
+import com.azure.core.http.rest.RequestOptions;
+import com.azure.core.http.rest.Response;
+
+/**
+ * Initializes a new instance of the synchronous AgentsClient type.
+ */
+@ServiceClient(builder = AgentsClientBuilder.class)
+@Beta(warningText = "This class is in preview and may change in future releases.")
+public final class BetaVoiceAgentWebSocketClient {
+
+ @Generated
+ private final BetaVoiceAgentWebSocketsImpl serviceClient;
+
+ /**
+ * Initializes an instance of BetaVoiceAgentWebSocketClient class.
+ *
+ * @param serviceClient the service client implementation.
+ */
+ @Generated
+ BetaVoiceAgentWebSocketClient(BetaVoiceAgentWebSocketsImpl serviceClient) {
+ this.serviceClient = serviceClient;
+ }
+
+ /**
+ * Connect to a voice agent
+ *
+ * Connects to a voice agent over WebSocket. The client must send an HTTP GET with `Upgrade: websocket`
+ * headers. The optional `realtime` subprotocol is the only accepted subprotocol value. Supply the
+ * `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
+ * query parameter.
+ *
+ * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
+ * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
+ * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * foundry_features String No A query alternative to the `Foundry-Features` header
+ * for clients that cannot set headers during a
+ * WebSocket handshake. Set this to `VoiceAgents=V1Preview`. Either this query parameter or the header is
+ * required. Allowed values: "WorkflowAgents=V1Preview", "ExternalAgents=V1Preview", "DraftAgents=V1Preview",
+ * "VoiceAgents=V1Preview", "DigitalWorker=V1Preview".
+ * store Boolean No Whether to persist the conversation created by this WebSocket
+ * session. If omitted, the service honors the
+ * persisted voice agent definition's configured `store` value. If supplied, this value overrides the
+ * definition's `store` setting for this session only.
+ * x-agent-version-override String No Selects a specific version of the voice agent
+ * for this session.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Header Parameters
+ *
+ * Header Parameters
+ * Name Type Required Description
+ * Sec-WebSocket-Protocol String No The requested WebSocket subprotocol. Omit this
+ * header or request exactly `realtime`. Allowed values: "realtime".
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Response Headers
+ *
+ * Response Headers
+ * Name Type Description
+ * Sec-WebSocket-Protocol String The negotiated WebSocket subprotocol. Present only when the
+ * client requests `realtime`.
+ *
+ *
+ * @param agentName The name of the voice agent.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response connectVoiceAgentWithResponse(String agentName, RequestOptions requestOptions) {
+ return this.serviceClient.connectVoiceAgentWithResponse(agentName, requestOptions);
+ }
+
+ /**
+ * Connect to a voice agent
+ *
+ * Connects to a voice agent over WebSocket. The client must send an HTTP GET with `Upgrade: websocket`
+ * headers. The optional `realtime` subprotocol is the only accepted subprotocol value. Supply the
+ * `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
+ * query parameter.
+ *
+ * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
+ * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
+ * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ *
+ * @param agentName The name of the voice agent.
+ * @param foundryFeaturesQuery A query alternative to the `Foundry-Features` header for clients that cannot set
+ * headers during a
+ * WebSocket handshake. Set this to `VoiceAgents=V1Preview`. Either this query parameter or the header is
+ * required.
+ * @param store Whether to persist the conversation created by this WebSocket session. If omitted, the service
+ * honors the
+ * persisted voice agent definition's configured `store` value. If supplied, this value overrides the
+ * definition's `store` setting for this session only.
+ * @param agentVersionOverride Selects a specific version of the voice agent for this session.
+ * @param websocketSubprotocol The requested WebSocket subprotocol. Omit this header or request exactly `realtime`.
+ * @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.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void connectVoiceAgent(String agentName, AgentDefinitionOptInKeys foundryFeaturesQuery, Boolean store,
+ String agentVersionOverride, VoiceAgentWebSocketSubprotocol websocketSubprotocol) {
+ // Generated convenience method for connectVoiceAgentWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (foundryFeaturesQuery != null) {
+ requestOptions.addQueryParam("foundry_features", foundryFeaturesQuery.toString(), false);
+ }
+ if (store != null) {
+ requestOptions.addQueryParam("store", String.valueOf(store), false);
+ }
+ if (agentVersionOverride != null) {
+ requestOptions.addQueryParam("x-agent-version-override", agentVersionOverride, false);
+ }
+ if (websocketSubprotocol != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("Sec-WebSocket-Protocol"),
+ websocketSubprotocol.toString());
+ }
+ connectVoiceAgentWithResponse(agentName, requestOptions).getValue();
+ }
+
+ /**
+ * Connect to a voice agent
+ *
+ * Connects to a voice agent over WebSocket. The client must send an HTTP GET with `Upgrade: websocket`
+ * headers. The optional `realtime` subprotocol is the only accepted subprotocol value. Supply the
+ * `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
+ * query parameter.
+ *
+ * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
+ * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
+ * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ *
+ * @param agentName The name of the voice agent.
+ * @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.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void connectVoiceAgent(String agentName) {
+ // Generated convenience method for connectVoiceAgentWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ connectVoiceAgentWithResponse(agentName, requestOptions).getValue();
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java
index dfdb86992fb5..756f3fc88ed5 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java
@@ -57,7 +57,7 @@ public final class ToolboxesAsyncClient {
*
* Creates a new toolbox version, provisioning the toolbox itself if it does not already exist.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -67,7 +67,7 @@ public final class ToolboxesAsyncClient {
* }
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -91,9 +91,9 @@ public final class ToolboxesAsyncClient {
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -107,7 +107,7 @@ public final class ToolboxesAsyncClient {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -154,7 +154,7 @@ public Mono> createToolboxVersionWithResponse(String name,
*
* Retrieves the specified toolbox and its current configuration.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -205,7 +205,7 @@ public Mono> getToolboxWithResponse(String name, RequestOpt
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -254,7 +254,7 @@ public PagedFlux listToolboxes(RequestOptions requestOptions) {
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -268,7 +268,7 @@ public PagedFlux listToolboxes(RequestOptions requestOptions) {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -312,7 +312,7 @@ public PagedFlux listToolboxVersions(String name, RequestOptions req
*
* Retrieves the specified version of a toolbox by name and version identifier.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -326,7 +326,7 @@ public PagedFlux listToolboxVersions(String name, RequestOptions req
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -372,7 +372,7 @@ public Mono> getToolboxVersionWithResponse(String name, Str
*
* Updates the toolbox's default version pointer to the specified version.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -380,9 +380,9 @@ public Mono> getToolboxVersionWithResponse(String name, Str
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java
index 6f087ae6e009..b540c4c23d4e 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java
@@ -51,7 +51,7 @@ public final class ToolboxesClient {
*
* Creates a new toolbox version, provisioning the toolbox itself if it does not already exist.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -61,7 +61,7 @@ public final class ToolboxesClient {
* }
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -85,9 +85,9 @@ public final class ToolboxesClient {
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -101,7 +101,7 @@ public final class ToolboxesClient {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -147,7 +147,7 @@ public Response createToolboxVersionWithResponse(String name, Binary
*
* Retrieves the specified toolbox and its current configuration.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -197,7 +197,7 @@ public Response getToolboxWithResponse(String name, RequestOptions r
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -246,7 +246,7 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) {
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -260,7 +260,7 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -304,7 +304,7 @@ public PagedIterable listToolboxVersions(String name, RequestOptions
*
* Retrieves the specified version of a toolbox by name and version identifier.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -318,7 +318,7 @@ public PagedIterable listToolboxVersions(String name, RequestOptions
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -364,7 +364,7 @@ public Response getToolboxVersionWithResponse(String name, String ve
*
* Updates the toolbox's default version pointer to the specified version.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -372,9 +372,9 @@ public Response getToolboxVersionWithResponse(String name, String ve
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java
index d5d107362708..41ad2bcebaea 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java
@@ -31,7 +31,7 @@ public final class AgentsClientImpl {
* If you only have one Project in your Foundry Hub, or to target the default Project
* in your Hub, use the form
* "https://{ai-services-account-name}.services.ai.azure.com/api/projects/_project".
- *
+ *
* @return the endpoint value.
*/
public String getEndpoint() {
@@ -45,7 +45,7 @@ public String getEndpoint() {
/**
* Gets Service version.
- *
+ *
* @return the serviceVersion value.
*/
public AgentsServiceVersion getServiceVersion() {
@@ -59,7 +59,7 @@ public AgentsServiceVersion getServiceVersion() {
/**
* Gets The HTTP pipeline to send requests through.
- *
+ *
* @return the httpPipeline value.
*/
public HttpPipeline getHttpPipeline() {
@@ -73,7 +73,7 @@ public HttpPipeline getHttpPipeline() {
/**
* Gets The serializer to serialize an object into a string.
- *
+ *
* @return the serializerAdapter value.
*/
public SerializerAdapter getSerializerAdapter() {
@@ -87,7 +87,7 @@ public SerializerAdapter getSerializerAdapter() {
/**
* Gets the BetaMemoryStoresImpl object to access its operations.
- *
+ *
* @return the BetaMemoryStoresImpl object.
*/
public BetaMemoryStoresImpl getBetaMemoryStores() {
@@ -101,13 +101,41 @@ public BetaMemoryStoresImpl getBetaMemoryStores() {
/**
* Gets the BetaAgentsImpl object to access its operations.
- *
+ *
* @return the BetaAgentsImpl object.
*/
public BetaAgentsImpl getBetaAgents() {
return this.betaAgents;
}
+ /**
+ * The BetaVoiceAgentWebSocketsImpl object to access its operations.
+ */
+ private final BetaVoiceAgentWebSocketsImpl betaVoiceAgentWebSockets;
+
+ /**
+ * Gets the BetaVoiceAgentWebSocketsImpl object to access its operations.
+ *
+ * @return the BetaVoiceAgentWebSocketsImpl object.
+ */
+ public BetaVoiceAgentWebSocketsImpl getBetaVoiceAgentWebSockets() {
+ return this.betaVoiceAgentWebSockets;
+ }
+
+ /**
+ * The BetaAgentEndpointConversationsImpl object to access its operations.
+ */
+ private final BetaAgentEndpointConversationsImpl betaAgentEndpointConversations;
+
+ /**
+ * Gets the BetaAgentEndpointConversationsImpl object to access its operations.
+ *
+ * @return the BetaAgentEndpointConversationsImpl object.
+ */
+ public BetaAgentEndpointConversationsImpl getBetaAgentEndpointConversations() {
+ return this.betaAgentEndpointConversations;
+ }
+
/**
* The AgentsImpl object to access its operations.
*/
@@ -115,7 +143,7 @@ public BetaAgentsImpl getBetaAgents() {
/**
* Gets the AgentsImpl object to access its operations.
- *
+ *
* @return the AgentsImpl object.
*/
public AgentsImpl getAgents() {
@@ -129,7 +157,7 @@ public AgentsImpl getAgents() {
/**
* Gets the ToolboxesImpl object to access its operations.
- *
+ *
* @return the ToolboxesImpl object.
*/
public ToolboxesImpl getToolboxes() {
@@ -138,7 +166,7 @@ public ToolboxesImpl getToolboxes() {
/**
* Initializes an instance of AgentsClient client.
- *
+ *
* @param endpoint Foundry Project endpoint in the form
* "https://{ai-services-account-name}.services.ai.azure.com/api/projects/{project-name}".
* If you only have one Project in your Foundry Hub, or to target the default Project
@@ -153,7 +181,7 @@ public AgentsClientImpl(String endpoint, AgentsServiceVersion serviceVersion) {
/**
* Initializes an instance of AgentsClient client.
- *
+ *
* @param httpPipeline The HTTP pipeline to send requests through.
* @param endpoint Foundry Project endpoint in the form
* "https://{ai-services-account-name}.services.ai.azure.com/api/projects/{project-name}".
@@ -168,7 +196,7 @@ public AgentsClientImpl(HttpPipeline httpPipeline, String endpoint, AgentsServic
/**
* Initializes an instance of AgentsClient client.
- *
+ *
* @param httpPipeline The HTTP pipeline to send requests through.
* @param serializerAdapter The serializer to serialize an object into a string.
* @param endpoint Foundry Project endpoint in the form
@@ -186,6 +214,8 @@ public AgentsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerA
this.serviceVersion = serviceVersion;
this.betaMemoryStores = new BetaMemoryStoresImpl(this);
this.betaAgents = new BetaAgentsImpl(this);
+ this.betaVoiceAgentWebSockets = new BetaVoiceAgentWebSocketsImpl(this);
+ this.betaAgentEndpointConversations = new BetaAgentEndpointConversationsImpl(this);
this.agents = new AgentsImpl(this);
this.toolboxes = new ToolboxesImpl(this);
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java
index 81aa07465dd1..5ebf4a7431e9 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java
@@ -56,7 +56,7 @@ public final class AgentsImpl {
/**
* Initializes an instance of AgentsImpl.
- *
+ *
* @param client the instance of the service client containing this operation class.
*/
AgentsImpl(AgentsClientImpl client) {
@@ -66,7 +66,7 @@ public final class AgentsImpl {
/**
* Gets Service version.
- *
+ *
* @return the serviceVersion value.
*/
public AgentsServiceVersion getServiceVersion() {
@@ -122,6 +122,28 @@ Response createAgentSync(@HostParam("endpoint") String endpoint,
@HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData createAgentRequest,
RequestOptions requestOptions, Context context);
+ @Post("/agents:generate")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> generateAgent(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body,
+ RequestOptions requestOptions, Context context);
+
+ @Post("/agents:generate")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response generateAgentSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body,
+ RequestOptions requestOptions, Context context);
+
// @Multipart not supported by RestProxy
@Post("/agents")
@ExpectedResponses({ 200 })
@@ -726,6 +748,74 @@ Response deleteSessionFileSync(@HostParam("endpoint") String endpoint,
@QueryParam("path") String path, @QueryParam("api-version") String apiVersion,
RequestOptions requestOptions, Context context);
+ @Post("/agents/{agent_name}/microsoft365/publish")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> publishAgentToMicrosoft365(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData publishAgentToMicrosoft365Request, RequestOptions requestOptions,
+ Context context);
+
+ @Post("/agents/{agent_name}/microsoft365/publish")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response publishAgentToMicrosoft365Sync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData publishAgentToMicrosoft365Request, RequestOptions requestOptions,
+ Context context);
+
+ @Post("/agents/{agent_name}/microsoft365/zip")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getMicrosoft365AppPackage(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData getMicrosoft365AppPackageRequest, RequestOptions requestOptions,
+ Context context);
+
+ @Post("/agents/{agent_name}/microsoft365/zip")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getMicrosoft365AppPackageSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData getMicrosoft365AppPackageRequest, RequestOptions requestOptions,
+ Context context);
+
+ @Get("/agents/{agent_name}/microsoft365/publishdefaults")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getMicrosoft365PublishDefaults(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/microsoft365/publishdefaults")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getMicrosoft365PublishDefaultsSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
@Get("/openai/v1/conversations")
@ExpectedResponses({ 200 })
@UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
@@ -747,10 +837,10 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en
/**
* Get an agent
- *
+ *
* Retrieves an agent definition by its unique name.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -771,7 +861,7 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -802,6 +892,9 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -819,7 +912,9 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -843,7 +938,7 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -851,7 +946,7 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en
* @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.
* @return an agent
- *
+ *
* Retrieves an agent definition by its unique name along with {@link Response} on successful completion of
* {@link Mono}.
*/
@@ -864,10 +959,10 @@ public Mono> getAgentWithResponseAsync(String agentName, Re
/**
* Get an agent
- *
+ *
* Retrieves an agent definition by its unique name.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -888,7 +983,7 @@ public Mono> getAgentWithResponseAsync(String agentName, Re
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -919,6 +1014,9 @@ public Mono> getAgentWithResponseAsync(String agentName, Re
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -936,7 +1034,9 @@ public Mono> getAgentWithResponseAsync(String agentName, Re
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -960,7 +1060,7 @@ public Mono> getAgentWithResponseAsync(String agentName, Re
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -968,7 +1068,7 @@ public Mono> getAgentWithResponseAsync(String agentName, Re
* @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.
* @return an agent
- *
+ *
* Retrieves an agent definition by its unique name along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -980,10 +1080,10 @@ public Response getAgentWithResponse(String agentName, RequestOption
/**
* Create an agent
- *
+ *
* Creates a new agent or a new version of an existing agent.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -994,7 +1094,7 @@ public Response getAgentWithResponse(String agentName, RequestOption
* }
* description: String (Optional)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1002,6 +1102,7 @@ public Response getAgentWithResponse(String agentName, RequestOption
* blueprint_reference (Optional): {
* type: String(ManagedAgentIdentityBlueprint) (Required)
* }
+ * digital_worker_type: String(m365) (Optional)
* draft: Boolean (Optional)
* agent_endpoint (Optional): {
* version_selector (Optional): {
@@ -1015,6 +1116,9 @@ public Response getAgentWithResponse(String agentName, RequestOption
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1032,6 +1136,7 @@ public Response getAgentWithResponse(String agentName, RequestOption
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
* agent_card (Optional): {
* version: String (Optional, Required on create)
@@ -1053,9 +1158,9 @@ public Response getAgentWithResponse(String agentName, RequestOption
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -1076,7 +1181,7 @@ public Response getAgentWithResponse(String agentName, RequestOption
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1107,6 +1212,9 @@ public Response getAgentWithResponse(String agentName, RequestOption
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1124,7 +1232,9 @@ public Response getAgentWithResponse(String agentName, RequestOption
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1148,7 +1258,7 @@ public Response getAgentWithResponse(String agentName, RequestOption
* }
* }
*
- *
+ *
* @param createAgentRequest The createAgentRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -1169,10 +1279,10 @@ public Mono> createAgentWithResponseAsync(BinaryData create
/**
* Create an agent
- *
+ *
* Creates a new agent or a new version of an existing agent.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -1183,7 +1293,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* }
* description: String (Optional)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1191,6 +1301,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* blueprint_reference (Optional): {
* type: String(ManagedAgentIdentityBlueprint) (Required)
* }
+ * digital_worker_type: String(m365) (Optional)
* draft: Boolean (Optional)
* agent_endpoint (Optional): {
* version_selector (Optional): {
@@ -1204,6 +1315,9 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1221,6 +1335,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
* agent_card (Optional): {
* version: String (Optional, Required on create)
@@ -1242,9 +1357,9 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -1265,7 +1380,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1296,6 +1411,9 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1313,7 +1431,9 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1337,7 +1457,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* }
* }
*
- *
+ *
* @param createAgentRequest The createAgentRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -1354,9 +1474,267 @@ public Response createAgentWithResponse(BinaryData createAgentReques
contentType, accept, createAgentRequest, requestOptions, Context.NONE);
}
+ /**
+ * Generate an agent
+ *
+ * Generates and creates an agent from kind-specific high-level inputs.
+ * The generated definition remains fully editable through the standard agent versioning operations.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * state: String(enabled/disabled) (Required)
+ * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * draft: Boolean (Optional)
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * status: String(active/disabled) (Optional)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ * agent_endpoint (Optional): {
+ * version_selector (Optional): {
+ * version_selection_rules (Optional, Required on create): [
+ * (Optional, Required on create){
+ * type: String(FixedRatio) (Required)
+ * agent_version: String (Optional, Required on create)
+ * }
+ * ]
+ * }
+ * protocol_configuration (Optional): {
+ * activity (Optional): {
+ * enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * }
+ * responses (Optional): {
+ * }
+ * a2a (Optional): {
+ * }
+ * mcp (Optional): {
+ * }
+ * invocations (Optional): {
+ * }
+ * invocations_ws (Optional): {
+ * }
+ * }
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+ * }
+ * ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+ * }
+ * digital_worker_type: String(m365) (Optional)
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param body The kind-specific inputs for generating and creating an agent.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> generateAgentWithResponseAsync(BinaryData body, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.generateAgent(this.client.getEndpoint(),
+ this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, context));
+ }
+
+ /**
+ * Generate an agent
+ *
+ * Generates and creates an agent from kind-specific high-level inputs.
+ * The generated definition remains fully editable through the standard agent versioning operations.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * state: String(enabled/disabled) (Required)
+ * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * draft: Boolean (Optional)
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * status: String(active/disabled) (Optional)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ * agent_endpoint (Optional): {
+ * version_selector (Optional): {
+ * version_selection_rules (Optional, Required on create): [
+ * (Optional, Required on create){
+ * type: String(FixedRatio) (Required)
+ * agent_version: String (Optional, Required on create)
+ * }
+ * ]
+ * }
+ * protocol_configuration (Optional): {
+ * activity (Optional): {
+ * enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * }
+ * responses (Optional): {
+ * }
+ * a2a (Optional): {
+ * }
+ * mcp (Optional): {
+ * }
+ * invocations (Optional): {
+ * }
+ * invocations_ws (Optional): {
+ * }
+ * }
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+ * }
+ * ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+ * }
+ * digital_worker_type: String(m365) (Optional)
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param body The kind-specific inputs for generating and creating an agent.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response generateAgentWithResponse(BinaryData body, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.generateAgentSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(),
+ contentType, accept, body, requestOptions, Context.NONE);
+ }
+
/**
* Create a new code-based agent
- *
+ *
* Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
* The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
* The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
@@ -1364,7 +1742,7 @@ public Response createAgentWithResponse(BinaryData createAgentReques
* irrelevant).
* Maximum upload size is 250 MB.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -1385,7 +1763,7 @@ public Response createAgentWithResponse(BinaryData createAgentReques
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1416,6 +1794,9 @@ public Response createAgentWithResponse(BinaryData createAgentReques
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1433,7 +1814,9 @@ public Response createAgentWithResponse(BinaryData createAgentReques
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1457,7 +1840,7 @@ public Response createAgentWithResponse(BinaryData createAgentReques
* }
* }
*
- *
+ *
* @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
* hyphens allowed in the middle.
* @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
@@ -1482,7 +1865,7 @@ public Mono> createAgentFromCodeWithResponseAsync(String ag
/**
* Create a new code-based agent
- *
+ *
* Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
* The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
* The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
@@ -1490,7 +1873,7 @@ public Mono> createAgentFromCodeWithResponseAsync(String ag
* irrelevant).
* Maximum upload size is 250 MB.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -1511,7 +1894,7 @@ public Mono> createAgentFromCodeWithResponseAsync(String ag
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1542,6 +1925,9 @@ public Mono> createAgentFromCodeWithResponseAsync(String ag
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1559,7 +1945,9 @@ public Mono> createAgentFromCodeWithResponseAsync(String ag
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1583,7 +1971,7 @@ public Mono> createAgentFromCodeWithResponseAsync(String ag
* }
* }
*
- *
+ *
* @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
* hyphens allowed in the middle.
* @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
@@ -1607,11 +1995,11 @@ public Response createAgentFromCodeWithResponse(String agentName, St
/**
* Update an agent
- *
+ *
* Updates the agent by adding a new version if there are any changes to the agent definition.
* If no changes, returns the existing agent version.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -1620,7 +2008,7 @@ public Response createAgentFromCodeWithResponse(String agentName, St
* }
* description: String (Optional)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1631,9 +2019,9 @@ public Response createAgentFromCodeWithResponse(String agentName, St
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -1654,7 +2042,7 @@ public Response createAgentFromCodeWithResponse(String agentName, St
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1685,6 +2073,9 @@ public Response createAgentFromCodeWithResponse(String agentName, St
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1702,7 +2093,9 @@ public Response createAgentFromCodeWithResponse(String agentName, St
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1726,7 +2119,7 @@ public Response createAgentFromCodeWithResponse(String agentName, St
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve.
* @param updateAgentRequest The updateAgentRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -1748,11 +2141,11 @@ public Mono> updateAgentWithResponseAsync(String agentName,
/**
* Update an agent
- *
+ *
* Updates the agent by adding a new version if there are any changes to the agent definition.
* If no changes, returns the existing agent version.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -1761,7 +2154,7 @@ public Mono> updateAgentWithResponseAsync(String agentName,
* }
* description: String (Optional)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1772,9 +2165,9 @@ public Mono> updateAgentWithResponseAsync(String agentName,
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -1795,7 +2188,7 @@ public Mono> updateAgentWithResponseAsync(String agentName,
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1826,6 +2219,9 @@ public Mono> updateAgentWithResponseAsync(String agentName,
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1843,7 +2239,9 @@ public Mono> updateAgentWithResponseAsync(String agentName,
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1867,7 +2265,7 @@ public Mono> updateAgentWithResponseAsync(String agentName,
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve.
* @param updateAgentRequest The updateAgentRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -1889,14 +2287,14 @@ public Response updateAgentWithResponse(String agentName, BinaryData
/**
* Update a code-based agent
- *
+ *
* Updates a code-based agent by uploading new code and creating a new version.
* If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
* The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
* irrelevant).
* Maximum upload size is 250 MB.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -1917,7 +2315,7 @@ public Response updateAgentWithResponse(String agentName, BinaryData
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -1948,6 +2346,9 @@ public Response updateAgentWithResponse(String agentName, BinaryData
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1965,7 +2366,9 @@ public Response updateAgentWithResponse(String agentName, BinaryData
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1989,7 +2392,7 @@ public Response updateAgentWithResponse(String agentName, BinaryData
* }
* }
*
- *
+ *
* @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
* - Must start and end with alphanumeric characters,
* - Can contain hyphens in the middle
@@ -2016,14 +2419,14 @@ public Mono> updateAgentFromCodeWithResponseAsync(String ag
/**
* Update a code-based agent
- *
+ *
* Updates a code-based agent by uploading new code and creating a new version.
* If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
* The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
* irrelevant).
* Maximum upload size is 250 MB.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2044,7 +2447,7 @@ public Mono> updateAgentFromCodeWithResponseAsync(String ag
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -2075,6 +2478,9 @@ public Mono> updateAgentFromCodeWithResponseAsync(String ag
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2092,7 +2498,9 @@ public Mono> updateAgentFromCodeWithResponseAsync(String ag
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2116,7 +2524,7 @@ public Mono> updateAgentFromCodeWithResponseAsync(String ag
* }
* }
*
- *
+ *
* @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
* - Must start and end with alphanumeric characters,
* - Can contain hyphens in the middle
@@ -2142,10 +2550,10 @@ public Response updateAgentFromCodeWithResponse(String agentName, St
/**
* Create an agent from a manifest
- *
+ *
* Imports the provided manifest to create an agent and returns the created resource.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -2161,9 +2569,9 @@ public Response updateAgentFromCodeWithResponse(String agentName, St
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2184,7 +2592,7 @@ public Response updateAgentFromCodeWithResponse(String agentName, St
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -2215,6 +2623,9 @@ public Response updateAgentFromCodeWithResponse(String agentName, St
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2232,7 +2643,9 @@ public Response updateAgentFromCodeWithResponse(String agentName, St
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2256,7 +2669,7 @@ public Response updateAgentFromCodeWithResponse(String agentName, St
* }
* }
*
- *
+ *
* @param createAgentFromManifestRequest The createAgentFromManifestRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -2277,10 +2690,10 @@ public Mono> createAgentFromManifestWithResponseAsync(
/**
* Create an agent from a manifest
- *
+ *
* Imports the provided manifest to create an agent and returns the created resource.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -2296,9 +2709,9 @@ public Mono> createAgentFromManifestWithResponseAsync(
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2319,7 +2732,7 @@ public Mono> createAgentFromManifestWithResponseAsync(
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -2350,6 +2763,9 @@ public Mono> createAgentFromManifestWithResponseAsync(
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2367,7 +2783,9 @@ public Mono> createAgentFromManifestWithResponseAsync(
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2391,7 +2809,7 @@ public Mono> createAgentFromManifestWithResponseAsync(
* }
* }
*
- *
+ *
* @param createAgentFromManifestRequest The createAgentFromManifestRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -2412,11 +2830,11 @@ public Response createAgentFromManifestWithResponse(BinaryData creat
/**
* Update an agent from a manifest
- *
+ *
* Updates the agent from a manifest by adding a new version if there are any changes to the agent definition.
* If no changes, returns the existing agent version.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -2431,9 +2849,9 @@ public Response createAgentFromManifestWithResponse(BinaryData creat
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2454,7 +2872,7 @@ public Response createAgentFromManifestWithResponse(BinaryData creat
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -2485,6 +2903,9 @@ public Response createAgentFromManifestWithResponse(BinaryData creat
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2502,7 +2923,9 @@ public Response createAgentFromManifestWithResponse(BinaryData creat
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2526,7 +2949,7 @@ public Response createAgentFromManifestWithResponse(BinaryData creat
* }
* }
*
- *
+ *
* @param agentName The name of the agent to update.
* @param updateAgentFromManifestRequest The updateAgentFromManifestRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -2548,11 +2971,11 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin
/**
* Update an agent from a manifest
- *
+ *
* Updates the agent from a manifest by adding a new version if there are any changes to the agent definition.
* If no changes, returns the existing agent version.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -2567,9 +2990,9 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2590,7 +3013,7 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -2621,6 +3044,9 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2638,7 +3064,9 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2662,7 +3090,7 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin
* }
* }
*
- *
+ *
* @param agentName The name of the agent to update.
* @param updateAgentFromManifestRequest The updateAgentFromManifestRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -2684,7 +3112,7 @@ public Response updateAgentFromManifestWithResponse(String agentName
/**
* Delete an agent
- *
+ *
* Deletes an agent. For hosted agents, if any version has active sessions, the request
* is rejected with HTTP 409 unless `force` is set to true. When force is true, all
* associated sessions are cascade-deleted along with the agent and its versions.
@@ -2698,7 +3126,7 @@ public Response updateAgentFromManifestWithResponse(String agentName
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2708,7 +3136,7 @@ public Response updateAgentFromManifestWithResponse(String agentName
* }
* }
*
- *
+ *
* @param agentName The name of the agent to delete.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -2727,7 +3155,7 @@ public Mono> internalDeleteAgentWithResponseAsync(String ag
/**
* Delete an agent
- *
+ *
* Deletes an agent. For hosted agents, if any version has active sessions, the request
* is rejected with HTTP 409 unless `force` is set to true. When force is true, all
* associated sessions are cascade-deleted along with the agent and its versions.
@@ -2741,7 +3169,7 @@ public Mono> internalDeleteAgentWithResponseAsync(String ag
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2751,7 +3179,7 @@ public Mono> internalDeleteAgentWithResponseAsync(String ag
* }
* }
*
- *
+ *
* @param agentName The name of the agent to delete.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -2769,14 +3197,14 @@ public Response internalDeleteAgentWithResponse(String agentName, Re
/**
* List agents
- *
+ *
* Returns a paged collection of agent resources.
* Query Parameters
*
* Query Parameters
* Name Type Required Description
* kind String No Filter agents by kind. If not provided, all agents are returned.
- * Allowed values: "prompt", "hosted", "workflow", "external".
+ * Allowed values: "prompt", "hosted", "workflow", "external", "voice".
* limit Integer No A limit on the number of objects to be returned. Limit can range
* between 1 and 100, and the
* default is 20.
@@ -2794,7 +3222,7 @@ public Response internalDeleteAgentWithResponse(String agentName, Re
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2815,7 +3243,7 @@ public Response internalDeleteAgentWithResponse(String agentName, Re
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -2846,6 +3274,9 @@ public Response internalDeleteAgentWithResponse(String agentName, Re
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2863,7 +3294,9 @@ public Response internalDeleteAgentWithResponse(String agentName, Re
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2887,7 +3320,7 @@ public Response internalDeleteAgentWithResponse(String agentName, Re
* }
* }
*
- *
+ *
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -2908,14 +3341,14 @@ private Mono> listAgentsSinglePageAsync(RequestOptions
/**
* List agents
- *
+ *
* Returns a paged collection of agent resources.
* Query Parameters
*
* Query Parameters
* Name Type Required Description
* kind String No Filter agents by kind. If not provided, all agents are returned.
- * Allowed values: "prompt", "hosted", "workflow", "external".
+ * Allowed values: "prompt", "hosted", "workflow", "external", "voice".
* limit Integer No A limit on the number of objects to be returned. Limit can range
* between 1 and 100, and the
* default is 20.
@@ -2933,7 +3366,7 @@ private Mono> listAgentsSinglePageAsync(RequestOptions
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -2954,7 +3387,7 @@ private Mono> listAgentsSinglePageAsync(RequestOptions
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -2985,6 +3418,9 @@ private Mono> listAgentsSinglePageAsync(RequestOptions
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -3002,7 +3438,9 @@ private Mono> listAgentsSinglePageAsync(RequestOptions
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -3026,7 +3464,7 @@ private Mono> listAgentsSinglePageAsync(RequestOptions
* }
* }
*
- *
+ *
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -3041,14 +3479,14 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) {
/**
* List agents
- *
+ *
* Returns a paged collection of agent resources.
* Query Parameters
*
* Query Parameters
* Name Type Required Description
* kind String No Filter agents by kind. If not provided, all agents are returned.
- * Allowed values: "prompt", "hosted", "workflow", "external".
+ * Allowed values: "prompt", "hosted", "workflow", "external", "voice".
* limit Integer No A limit on the number of objects to be returned. Limit can range
* between 1 and 100, and the
* default is 20.
@@ -3066,7 +3504,7 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) {
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3087,7 +3525,7 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) {
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3118,6 +3556,9 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) {
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -3135,7 +3576,9 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) {
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -3159,7 +3602,7 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) {
* }
* }
*
- *
+ *
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -3178,14 +3621,14 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt
/**
* List agents
- *
+ *
* Returns a paged collection of agent resources.
* Query Parameters
*
* Query Parameters
* Name Type Required Description
* kind String No Filter agents by kind. If not provided, all agents are returned.
- * Allowed values: "prompt", "hosted", "workflow", "external".
+ * Allowed values: "prompt", "hosted", "workflow", "external", "voice".
* limit Integer No A limit on the number of objects to be returned. Limit can range
* between 1 and 100, and the
* default is 20.
@@ -3203,7 +3646,7 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3224,7 +3667,7 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3255,6 +3698,9 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -3272,7 +3718,9 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -3296,7 +3744,7 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt
* }
* }
*
- *
+ *
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -3311,10 +3759,10 @@ public PagedIterable listAgents(RequestOptions requestOptions) {
/**
* Create an agent version
- *
+ *
* Creates a new version for the specified agent and returns the created version resource.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -3323,7 +3771,7 @@ public PagedIterable listAgents(RequestOptions requestOptions) {
* }
* description: String (Optional)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3331,13 +3779,14 @@ public PagedIterable listAgents(RequestOptions requestOptions) {
* blueprint_reference (Optional): {
* type: String(ManagedAgentIdentityBlueprint) (Required)
* }
+ * digital_worker_type: String(m365) (Optional)
* draft: Boolean (Optional)
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3351,7 +3800,7 @@ public PagedIterable listAgents(RequestOptions requestOptions) {
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3371,7 +3820,7 @@ public PagedIterable listAgents(RequestOptions requestOptions) {
* }
* }
*
- *
+ *
* @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
* - Must start and end with alphanumeric characters,
* - Can contain hyphens in the middle
@@ -3396,10 +3845,10 @@ public Mono> createAgentVersionWithResponseAsync(String age
/**
* Create an agent version
- *
+ *
* Creates a new version for the specified agent and returns the created version resource.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -3408,7 +3857,7 @@ public Mono> createAgentVersionWithResponseAsync(String age
* }
* description: String (Optional)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3416,13 +3865,14 @@ public Mono> createAgentVersionWithResponseAsync(String age
* blueprint_reference (Optional): {
* type: String(ManagedAgentIdentityBlueprint) (Required)
* }
+ * digital_worker_type: String(m365) (Optional)
* draft: Boolean (Optional)
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3436,7 +3886,7 @@ public Mono> createAgentVersionWithResponseAsync(String age
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3456,7 +3906,7 @@ public Mono> createAgentVersionWithResponseAsync(String age
* }
* }
*
- *
+ *
* @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
* - Must start and end with alphanumeric characters,
* - Can contain hyphens in the middle
@@ -3481,10 +3931,10 @@ public Response createAgentVersionWithResponse(String agentName, Bin
/**
* Create an agent version from manifest
- *
+ *
* Imports the provided manifest to create a new version for the specified agent.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -3499,9 +3949,9 @@ public Response createAgentVersionWithResponse(String agentName, Bin
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3515,7 +3965,7 @@ public Response createAgentVersionWithResponse(String agentName, Bin
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3535,7 +3985,7 @@ public Response createAgentVersionWithResponse(String agentName, Bin
* }
* }
*
- *
+ *
* @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
* - Must start and end with alphanumeric characters,
* - Can contain hyphens in the middle
@@ -3560,10 +4010,10 @@ public Mono> createAgentVersionFromManifestWithResponseAsyn
/**
* Create an agent version from manifest
- *
+ *
* Imports the provided manifest to create a new version for the specified agent.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -3578,9 +4028,9 @@ public Mono> createAgentVersionFromManifestWithResponseAsyn
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3594,7 +4044,7 @@ public Mono> createAgentVersionFromManifestWithResponseAsyn
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3614,7 +4064,7 @@ public Mono> createAgentVersionFromManifestWithResponseAsyn
* }
* }
*
- *
+ *
* @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
* - Must start and end with alphanumeric characters,
* - Can contain hyphens in the middle
@@ -3639,10 +4089,10 @@ public Response createAgentVersionFromManifestWithResponse(String ag
/**
* Get an agent version
- *
+ *
* Retrieves the specified version of an agent by its agent name and version identifier.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3656,7 +4106,7 @@ public Response createAgentVersionFromManifestWithResponse(String ag
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3676,7 +4126,7 @@ public Response createAgentVersionFromManifestWithResponse(String ag
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve.
* @param agentVersion The version of the agent to retrieve.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -3685,7 +4135,7 @@ public Response createAgentVersionFromManifestWithResponse(String ag
* @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.
* @return an agent version
- *
+ *
* Retrieves the specified version of an agent by its agent name and version identifier along with {@link Response}
* on successful completion of {@link Mono}.
*/
@@ -3699,10 +4149,10 @@ public Mono> getAgentVersionDetailsWithResponseAsync(String
/**
* Get an agent version
- *
+ *
* Retrieves the specified version of an agent by its agent name and version identifier.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3716,7 +4166,7 @@ public Mono> getAgentVersionDetailsWithResponseAsync(String
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3736,7 +4186,7 @@ public Mono> getAgentVersionDetailsWithResponseAsync(String
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve.
* @param agentVersion The version of the agent to retrieve.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -3745,7 +4195,7 @@ public Mono> getAgentVersionDetailsWithResponseAsync(String
* @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.
* @return an agent version
- *
+ *
* Retrieves the specified version of an agent by its agent name and version identifier along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -3758,7 +4208,7 @@ public Response getAgentVersionDetailsWithResponse(String agentName,
/**
* Delete an agent version
- *
+ *
* Deletes a specific version of an agent. For hosted agents, if the version has active
* sessions, the request is rejected with HTTP 409 unless `force` is set to true. When
* force is true, all sessions associated with this version are cascade-deleted.
@@ -3772,7 +4222,7 @@ public Response getAgentVersionDetailsWithResponse(String agentName,
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3783,7 +4233,7 @@ public Response getAgentVersionDetailsWithResponse(String agentName,
* }
* }
*
- *
+ *
* @param agentName The name of the agent to delete.
* @param agentVersion The version of the agent to delete.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -3803,7 +4253,7 @@ public Mono> internalDeleteAgentVersionWithResponseAsync(St
/**
* Delete an agent version
- *
+ *
* Deletes a specific version of an agent. For hosted agents, if the version has active
* sessions, the request is rejected with HTTP 409 unless `force` is set to true. When
* force is true, all sessions associated with this version are cascade-deleted.
@@ -3817,7 +4267,7 @@ public Mono> internalDeleteAgentVersionWithResponseAsync(St
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3828,7 +4278,7 @@ public Mono> internalDeleteAgentVersionWithResponseAsync(St
* }
* }
*
- *
+ *
* @param agentName The name of the agent to delete.
* @param agentVersion The version of the agent to delete.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -3848,7 +4298,7 @@ public Response internalDeleteAgentVersionWithResponse(String agentN
/**
* List agent versions
- *
+ *
* Returns a paged collection of versions for the specified agent.
* Query Parameters
*
@@ -3874,7 +4324,7 @@ public Response internalDeleteAgentVersionWithResponse(String agentN
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3888,7 +4338,7 @@ public Response internalDeleteAgentVersionWithResponse(String agentN
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3908,7 +4358,7 @@ public Response internalDeleteAgentVersionWithResponse(String agentN
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve versions for.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -3931,7 +4381,7 @@ private Mono> listAgentVersionsSinglePageAsync(String
/**
* List agent versions
- *
+ *
* Returns a paged collection of versions for the specified agent.
* Query Parameters
*
@@ -3957,7 +4407,7 @@ private Mono> listAgentVersionsSinglePageAsync(String
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -3971,7 +4421,7 @@ private Mono> listAgentVersionsSinglePageAsync(String
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -3991,7 +4441,7 @@ private Mono> listAgentVersionsSinglePageAsync(String
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve versions for.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -4007,7 +4457,7 @@ public PagedFlux listAgentVersionsAsync(String agentName, RequestOpt
/**
* List agent versions
- *
+ *
* Returns a paged collection of versions for the specified agent.
* Query Parameters
*
@@ -4033,7 +4483,7 @@ public PagedFlux listAgentVersionsAsync(String agentName, RequestOpt
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -4047,7 +4497,7 @@ public PagedFlux listAgentVersionsAsync(String agentName, RequestOpt
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -4067,7 +4517,7 @@ public PagedFlux listAgentVersionsAsync(String agentName, RequestOpt
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve versions for.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -4087,7 +4537,7 @@ private PagedResponse listAgentVersionsSinglePage(String agentName,
/**
* List agent versions
- *
+ *
* Returns a paged collection of versions for the specified agent.
* Query Parameters
*
@@ -4113,7 +4563,7 @@ private PagedResponse listAgentVersionsSinglePage(String agentName,
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -4127,7 +4577,7 @@ private PagedResponse listAgentVersionsSinglePage(String agentName,
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -4147,7 +4597,7 @@ private PagedResponse listAgentVersionsSinglePage(String agentName,
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve versions for.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -4163,10 +4613,10 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
/**
* Update an agent endpoint
- *
+ *
* Applies a merge-patch update to the specified agent endpoint configuration.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -4182,6 +4632,9 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -4199,6 +4652,7 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
* agent_card (Optional): {
* version: String (Optional, Required on create)
@@ -4220,9 +4674,9 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -4243,7 +4697,7 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -4274,6 +4728,9 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -4291,7 +4748,9 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -4315,9 +4774,9 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve
- *
+ *
* The name of the agent to retrieve.
* @param patchAgentObjectRequest The patchAgentObjectRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -4339,10 +4798,10 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
/**
* Update an agent endpoint
- *
+ *
* Applies a merge-patch update to the specified agent endpoint configuration.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -4358,6 +4817,9 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -4375,6 +4837,7 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
* agent_card (Optional): {
* version: String (Optional, Required on create)
@@ -4396,9 +4859,9 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -4419,7 +4882,7 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -4450,6 +4913,9 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -4467,7 +4933,9 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -4491,9 +4959,9 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
* }
* }
*
- *
+ *
* @param agentName The name of the agent to retrieve
- *
+ *
* The name of the agent to retrieve.
* @param patchAgentObjectRequest The patchAgentObjectRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -4515,7 +4983,7 @@ public Response updateAgentDetailsWithResponse(String agentName, Bin
/**
* Create an agent version from code
- *
+ *
* Creates a new agent version from code. Uploads the code zip and creates a new version
* for an existing agent. The SHA-256 hex digest of the zip is provided in the
* `x-ms-code-zip-sha256` header for integrity and dedup.
@@ -4523,7 +4991,7 @@ public Response updateAgentDetailsWithResponse(String agentName, Bin
* irrelevant).
* Maximum upload size is 250 MB.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -4537,7 +5005,7 @@ public Response updateAgentDetailsWithResponse(String agentName, Bin
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -4557,7 +5025,7 @@ public Response updateAgentDetailsWithResponse(String agentName, Bin
* }
* }
*
- *
+ *
* @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
* - Must start and end with alphanumeric characters,
* - Can contain hyphens in the middle
@@ -4584,7 +5052,7 @@ public Mono> createAgentVersionFromCodeWithResponseAsync(St
/**
* Create an agent version from code
- *
+ *
* Creates a new agent version from code. Uploads the code zip and creates a new version
* for an existing agent. The SHA-256 hex digest of the zip is provided in the
* `x-ms-code-zip-sha256` header for integrity and dedup.
@@ -4592,7 +5060,7 @@ public Mono> createAgentVersionFromCodeWithResponseAsync(St
* irrelevant).
* Maximum upload size is 250 MB.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -4606,7 +5074,7 @@ public Mono> createAgentVersionFromCodeWithResponseAsync(St
* description: String (Optional)
* created_at: long (Required)
* definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
+ * kind: String(prompt/hosted/workflow/external/voice) (Required)
* rai_config (Optional): {
* rai_policy_name: String (Required)
* }
@@ -4626,7 +5094,7 @@ public Mono> createAgentVersionFromCodeWithResponseAsync(St
* }
* }
*
- *
+ *
* @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
* - Must start and end with alphanumeric characters,
* - Can contain hyphens in the middle
@@ -4652,13 +5120,13 @@ public Response createAgentVersionFromCodeWithResponse(String agentN
/**
* Download agent code
- *
+ *
* Downloads the code zip for a code-based hosted agent.
* Returns the previously-uploaded zip (`application/zip`).
- *
+ *
* If `agent_version` is supplied, returns that version's code zip; otherwise
* returns the latest version's code zip.
- *
+ *
* The SHA-256 digest of the returned bytes matches the `content_hash` on the
* resolved version's `code_configuration`.
* Query Parameters
@@ -4671,13 +5139,13 @@ public Response createAgentVersionFromCodeWithResponse(String agentN
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* BinaryData
* }
*
- *
+ *
* Response Headers
*
* Response Headers
@@ -4685,7 +5153,7 @@ public Response createAgentVersionFromCodeWithResponse(String agentN
* x-ms-agent-version String The version of the agent whose code zip is returned in the
* response body.
*
- *
+ *
* @param agentName The name of the agent.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -4704,13 +5172,13 @@ public Mono> downloadAgentCodeWithResponseAsync(String agen
/**
* Download agent code
- *
+ *
* Downloads the code zip for a code-based hosted agent.
* Returns the previously-uploaded zip (`application/zip`).
- *
+ *
* If `agent_version` is supplied, returns that version's code zip; otherwise
* returns the latest version's code zip.
- *
+ *
* The SHA-256 digest of the returned bytes matches the `content_hash` on the
* resolved version's `code_configuration`.
* Query Parameters
@@ -4723,13 +5191,13 @@ public Mono> downloadAgentCodeWithResponseAsync(String agen
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* BinaryData
* }
*
- *
+ *
* Response Headers
*
* Response Headers
@@ -4737,7 +5205,7 @@ public Mono> downloadAgentCodeWithResponseAsync(String agen
* x-ms-agent-version String The version of the agent whose code zip is returned in the
* response body.
*
- *
+ *
* @param agentName The name of the agent.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -4755,10 +5223,10 @@ public Response downloadAgentCodeWithResponse(String agentName, Requ
/**
* Enable an agent
- *
+ *
* Enables the specified agent, allowing it to accept new sessions and process requests.
* This operation is idempotent — enabling an already-enabled agent returns success with no side effects.
- *
+ *
* @param agentName The name of the agent to enable.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -4775,10 +5243,10 @@ public Mono> enableAgentWithResponseAsync(String agentName, Reque
/**
* Enable an agent
- *
+ *
* Enables the specified agent, allowing it to accept new sessions and process requests.
* This operation is idempotent — enabling an already-enabled agent returns success with no side effects.
- *
+ *
* @param agentName The name of the agent to enable.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -4795,11 +5263,11 @@ public Response enableAgentWithResponse(String agentName, RequestOptions r
/**
* Disable an agent
- *
+ *
* Disables the specified agent, preventing it from accepting new sessions or processing requests.
* Existing active sessions are allowed to drain gracefully but no new sessions can be created.
* This operation is idempotent — disabling an already-disabled agent returns success with no side effects.
- *
+ *
* @param agentName The name of the agent to disable.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -4816,11 +5284,11 @@ public Mono> disableAgentWithResponseAsync(String agentName, Requ
/**
* Disable an agent
- *
+ *
* Disables the specified agent, preventing it from accepting new sessions or processing requests.
* Existing active sessions are allowed to drain gracefully but no new sessions can be created.
* This operation is idempotent — disabling an already-disabled agent returns success with no side effects.
- *
+ *
* @param agentName The name of the agent to disable.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -4837,12 +5305,12 @@ public Response disableAgentWithResponse(String agentName, RequestOptions
/**
* Create a session
- *
+ *
* Creates a new session for an agent endpoint.
* The endpoint resolves the backing agent version from `version_indicator` and
* enforces session ownership using the provided user identity for session-mutating operations.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -4853,9 +5321,9 @@ public Response disableAgentWithResponse(String agentName, RequestOptions
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -4870,7 +5338,7 @@ public Response disableAgentWithResponse(String agentName, RequestOptions
* }
* }
*
- *
+ *
* @param agentName The name of the agent to create a session for.
* @param createSessionRequest The createSessionRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -4893,12 +5361,12 @@ public Mono> createSessionWithResponseAsync(String agentNam
/**
* Create a session
- *
+ *
* Creates a new session for an agent endpoint.
* The endpoint resolves the backing agent version from `version_indicator` and
* enforces session ownership using the provided user identity for session-mutating operations.
* Request Body Schema
- *
+ *
*
* {@code
* {
@@ -4909,9 +5377,9 @@ public Mono> createSessionWithResponseAsync(String agentNam
* }
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -4926,7 +5394,7 @@ public Mono> createSessionWithResponseAsync(String agentNam
* }
* }
*
- *
+ *
* @param agentName The name of the agent to create a session for.
* @param createSessionRequest The createSessionRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -4949,10 +5417,10 @@ public Response createSessionWithResponse(String agentName, BinaryDa
/**
* Get a session
- *
+ *
* Retrieves the details of a hosted agent session by agent name and session identifier.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -4967,7 +5435,7 @@ public Response createSessionWithResponse(String agentName, BinaryDa
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session identifier.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -4976,7 +5444,7 @@ public Response createSessionWithResponse(String agentName, BinaryDa
* @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.
* @return a session
- *
+ *
* Retrieves the details of a hosted agent session by agent name and session identifier along with {@link Response}
* on successful completion of {@link Mono}.
*/
@@ -4990,10 +5458,10 @@ public Mono> getSessionWithResponseAsync(String agentName,
/**
* Get a session
- *
+ *
* Retrieves the details of a hosted agent session by agent name and session identifier.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5008,7 +5476,7 @@ public Mono> getSessionWithResponseAsync(String agentName,
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session identifier.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -5017,7 +5485,7 @@ public Mono> getSessionWithResponseAsync(String agentName,
* @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.
* @return a session
- *
+ *
* Retrieves the details of a hosted agent session by agent name and session identifier along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -5030,10 +5498,10 @@ public Response getSessionWithResponse(String agentName, String sess
/**
* Delete a session
- *
+ *
* Deletes a session synchronously.
* Returns 204 No Content when the session is deleted or does not exist.
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session identifier.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -5052,10 +5520,10 @@ public Mono> deleteSessionWithResponseAsync(String agentName, Str
/**
* Delete a session
- *
+ *
* Deletes a session synchronously.
* Returns 204 No Content when the session is deleted or does not exist.
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session identifier.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -5073,9 +5541,9 @@ public Response deleteSessionWithResponse(String agentName, String session
/**
* Stop a session
- *
+ *
* Terminates the specified hosted agent session and returns 204 No Content when the request succeeds.
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session identifier.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -5094,9 +5562,9 @@ public Mono> stopSessionWithResponseAsync(String agentName, Strin
/**
* Stop a session
- *
+ *
* Terminates the specified hosted agent session and returns 204 No Content when the request succeeds.
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session identifier.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -5114,7 +5582,7 @@ public Response stopSessionWithResponse(String agentName, String sessionId
/**
* List sessions for an agent
- *
+ *
* Returns a paged collection of sessions associated with the specified agent endpoint.
* Query Parameters
*
@@ -5137,7 +5605,7 @@ public Response stopSessionWithResponse(String agentName, String sessionId
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5152,7 +5620,7 @@ public Response stopSessionWithResponse(String agentName, String sessionId
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -5175,7 +5643,7 @@ private Mono> listSessionsSinglePageAsync(String agent
/**
* List sessions for an agent
- *
+ *
* Returns a paged collection of sessions associated with the specified agent endpoint.
* Query Parameters
*
@@ -5198,7 +5666,7 @@ private Mono> listSessionsSinglePageAsync(String agent
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5213,7 +5681,7 @@ private Mono> listSessionsSinglePageAsync(String agent
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -5229,7 +5697,7 @@ public PagedFlux listSessionsAsync(String agentName, RequestOptions
/**
* List sessions for an agent
- *
+ *
* Returns a paged collection of sessions associated with the specified agent endpoint.
* Query Parameters
*
@@ -5252,7 +5720,7 @@ public PagedFlux listSessionsAsync(String agentName, RequestOptions
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5267,7 +5735,7 @@ public PagedFlux listSessionsAsync(String agentName, RequestOptions
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -5287,7 +5755,7 @@ private PagedResponse listSessionsSinglePage(String agentName, Reque
/**
* List sessions for an agent
- *
+ *
* Returns a paged collection of sessions associated with the specified agent endpoint.
* Query Parameters
*
@@ -5310,7 +5778,7 @@ private PagedResponse listSessionsSinglePage(String agentName, Reque
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5325,7 +5793,7 @@ private PagedResponse listSessionsSinglePage(String agentName, Reque
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
@@ -5341,36 +5809,36 @@ public PagedIterable listSessions(String agentName, RequestOptions r
/**
* Stream console logs for a hosted agent session
- *
+ *
* Streams console logs (stdout / stderr) for a specific hosted agent session
* as a Server-Sent Events (SSE) stream.
- *
+ *
* Each SSE frame contains:
* - `event`: always `"log"`
* - `data`: a plain-text log line (currently JSON-formatted, but the schema
* is not contractual and may include additional keys or change format
* over time — clients should treat it as an opaque string)
- *
+ *
* Example SSE frames:
* ```
* event: log
* data: {"timestamp":"2026-03-10T09:33:17.121Z","stream":"stdout","message":"Starting FoundryCBAgent server on port
* 8088"}
- *
+ *
* event: log
* data: {"timestamp":"2026-03-10T09:33:17.130Z","stream":"stderr","message":"INFO: Application startup complete."}
- *
+ *
* event: log
* data: {"timestamp":"2026-03-10T09:34:52.714Z","stream":"status","message":"Successfully connected to container"}
- *
+ *
* event: log
* data: {"timestamp":"2026-03-10T09:35:52.714Z","stream":"status","message":"No logs since last 60 seconds"}
* ```
- *
+ *
* The stream remains open until the client disconnects or the server
* terminates the connection. Clients should handle reconnection as needed.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5379,7 +5847,7 @@ public PagedIterable listSessions(String agentName, RequestOptions r
* }
* }
*
- *
+ *
* @param agentName The name of the hosted agent.
* @param agentVersion The version of the agent.
* @param sessionId The session ID (maps to an ADC sandbox).
@@ -5389,7 +5857,7 @@ public PagedIterable listSessions(String agentName, RequestOptions r
* @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.
* @return a single Server-Sent Event frame emitted by the hosted agent session log stream.
- *
+ *
* Each frame contains an `event` field identifying the event type and a `data`
* field carrying the payload as plain text along with {@link Response} on successful completion of {@link Mono}.
*/
@@ -5403,36 +5871,36 @@ public Mono> getSessionLogStreamWithResponseAsync(String ag
/**
* Stream console logs for a hosted agent session
- *
+ *
* Streams console logs (stdout / stderr) for a specific hosted agent session
* as a Server-Sent Events (SSE) stream.
- *
+ *
* Each SSE frame contains:
* - `event`: always `"log"`
* - `data`: a plain-text log line (currently JSON-formatted, but the schema
* is not contractual and may include additional keys or change format
* over time — clients should treat it as an opaque string)
- *
+ *
* Example SSE frames:
* ```
* event: log
* data: {"timestamp":"2026-03-10T09:33:17.121Z","stream":"stdout","message":"Starting FoundryCBAgent server on port
* 8088"}
- *
+ *
* event: log
* data: {"timestamp":"2026-03-10T09:33:17.130Z","stream":"stderr","message":"INFO: Application startup complete."}
- *
+ *
* event: log
* data: {"timestamp":"2026-03-10T09:34:52.714Z","stream":"status","message":"Successfully connected to container"}
- *
+ *
* event: log
* data: {"timestamp":"2026-03-10T09:35:52.714Z","stream":"status","message":"No logs since last 60 seconds"}
* ```
- *
+ *
* The stream remains open until the client disconnects or the server
* terminates the connection. Clients should handle reconnection as needed.
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5441,7 +5909,7 @@ public Mono> getSessionLogStreamWithResponseAsync(String ag
* }
* }
*
- *
+ *
* @param agentName The name of the hosted agent.
* @param agentVersion The version of the agent.
* @param sessionId The session ID (maps to an ADC sandbox).
@@ -5451,7 +5919,7 @@ public Mono> getSessionLogStreamWithResponseAsync(String ag
* @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.
* @return a single Server-Sent Event frame emitted by the hosted agent session log stream.
- *
+ *
* Each frame contains an `event` field identifying the event type and a `data`
* field carrying the payload as plain text along with {@link Response}.
*/
@@ -5465,19 +5933,19 @@ public Response getSessionLogStreamWithResponse(String agentName, St
/**
* Upload a session file
- *
+ *
* Uploads binary file content to the specified path in the session sandbox.
* The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
* Request Body Schema
- *
+ *
*
* {@code
* BinaryData
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5486,7 +5954,7 @@ public Response getSessionLogStreamWithResponse(String agentName, St
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session ID.
* @param path The destination file path within the sandbox, relative to the session home directory.
@@ -5511,19 +5979,19 @@ public Mono> uploadSessionFileWithResponseAsync(String agen
/**
* Upload a session file
- *
+ *
* Uploads binary file content to the specified path in the session sandbox.
* The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
* Request Body Schema
- *
+ *
*
* {@code
* BinaryData
* }
*
- *
+ *
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5532,7 +6000,7 @@ public Mono> uploadSessionFileWithResponseAsync(String agen
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session ID.
* @param path The destination file path within the sandbox, relative to the session home directory.
@@ -5555,17 +6023,17 @@ public Response uploadSessionFileWithResponse(String agentName, Stri
/**
* Download a session file
- *
+ *
* Downloads the file at the specified sandbox path as a binary stream.
* The path is resolved relative to the session home directory.
* Response Body Schema
- *
+ *
*
* {@code
* BinaryData
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session ID.
* @param path The file path to download from the sandbox, relative to the session home directory.
@@ -5586,17 +6054,17 @@ public Mono> downloadSessionFileWithResponseAsync(String ag
/**
* Download a session file
- *
+ *
* Downloads the file at the specified sandbox path as a binary stream.
* The path is resolved relative to the session home directory.
* Response Body Schema
- *
+ *
*
* {@code
* BinaryData
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session ID.
* @param path The file path to download from the sandbox, relative to the session home directory.
@@ -5617,7 +6085,7 @@ public Response downloadSessionFileWithResponse(String agentName, St
/**
* List session files
- *
+ *
* Returns files and directories at the specified path in the session sandbox.
* The response includes only the immediate children of the target directory and defaults to the session home
* directory when no path is supplied.
@@ -5644,7 +6112,7 @@ public Response downloadSessionFileWithResponse(String agentName, St
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5655,7 +6123,7 @@ public Response downloadSessionFileWithResponse(String agentName, St
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session ID.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -5678,7 +6146,7 @@ private Mono> listSessionFilesSinglePageAsync(String a
/**
* List session files
- *
+ *
* Returns files and directories at the specified path in the session sandbox.
* The response includes only the immediate children of the target directory and defaults to the session home
* directory when no path is supplied.
@@ -5705,7 +6173,7 @@ private Mono> listSessionFilesSinglePageAsync(String a
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5716,7 +6184,7 @@ private Mono> listSessionFilesSinglePageAsync(String a
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session ID.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -5734,7 +6202,7 @@ public PagedFlux listSessionFilesAsync(String agentName, String sess
/**
* List session files
- *
+ *
* Returns files and directories at the specified path in the session sandbox.
* The response includes only the immediate children of the target directory and defaults to the session home
* directory when no path is supplied.
@@ -5761,7 +6229,7 @@ public PagedFlux listSessionFilesAsync(String agentName, String sess
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5772,7 +6240,7 @@ public PagedFlux listSessionFilesAsync(String agentName, String sess
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session ID.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -5794,7 +6262,7 @@ private PagedResponse listSessionFilesSinglePage(String agentName, S
/**
* List session files
- *
+ *
* Returns files and directories at the specified path in the session sandbox.
* The response includes only the immediate children of the target directory and defaults to the session home
* directory when no path is supplied.
@@ -5821,7 +6289,7 @@ private PagedResponse listSessionFilesSinglePage(String agentName, S
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5832,7 +6300,7 @@ private PagedResponse listSessionFilesSinglePage(String agentName, S
* }
* }
*
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session ID.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -5850,7 +6318,7 @@ public PagedIterable listSessionFiles(String agentName, String sessi
/**
* Delete a session file
- *
+ *
* Deletes the specified file or directory from the session sandbox.
* When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
* Query Parameters
@@ -5861,7 +6329,7 @@ public PagedIterable listSessionFiles(String agentName, String sessi
* service defaults to `false` if a value is not specified by the caller.
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session ID.
* @param path The file or directory path to delete, relative to the session home directory.
@@ -5881,7 +6349,7 @@ public Mono> deleteSessionFileWithResponseAsync(String agentName,
/**
* Delete a session file
- *
+ *
* Deletes the specified file or directory from the session sandbox.
* When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
* Query Parameters
@@ -5892,7 +6360,7 @@ public Mono> deleteSessionFileWithResponseAsync(String agentName,
* service defaults to `false` if a value is not specified by the caller.
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
- *
+ *
* @param agentName The name of the agent.
* @param sessionId The session ID.
* @param path The file or directory path to delete, relative to the session home directory.
@@ -5910,9 +6378,392 @@ public Response deleteSessionFileWithResponse(String agentName, String ses
this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE);
}
+ /**
+ * Publish an agent to Microsoft 365
+ *
+ * Publishes a Foundry agent to Microsoft 365 / Microsoft Teams and returns the published title and
+ * Teams app ids.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to publish.
+ * @param publishAgentToMicrosoft365Request The publishAgentToMicrosoft365Request parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return response from publishing an agent to Microsoft 365 / Microsoft Teams along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> publishAgentToMicrosoft365WithResponseAsync(String agentName,
+ BinaryData publishAgentToMicrosoft365Request, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.publishAgentToMicrosoft365(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, publishAgentToMicrosoft365Request,
+ requestOptions, context));
+ }
+
+ /**
+ * Publish an agent to Microsoft 365
+ *
+ * Publishes a Foundry agent to Microsoft 365 / Microsoft Teams and returns the published title and
+ * Teams app ids.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to publish.
+ * @param publishAgentToMicrosoft365Request The publishAgentToMicrosoft365Request parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return response from publishing an agent to Microsoft 365 / Microsoft Teams along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response publishAgentToMicrosoft365WithResponse(String agentName,
+ BinaryData publishAgentToMicrosoft365Request, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.publishAgentToMicrosoft365Sync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, publishAgentToMicrosoft365Request,
+ requestOptions, Context.NONE);
+ }
+
+ /**
+ * Generate a Microsoft 365 app package
+ *
+ * Generates the Microsoft Teams app package (zip) for a Foundry agent from the supplied publish
+ * request, without publishing it. Returns the app package as `application/zip`.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent to generate the app package for.
+ * @param getMicrosoft365AppPackageRequest The getMicrosoft365AppPackageRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getMicrosoft365AppPackageWithResponseAsync(String agentName,
+ BinaryData getMicrosoft365AppPackageRequest, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/zip";
+ return FluxUtil.withContext(context -> service.getMicrosoft365AppPackage(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, getMicrosoft365AppPackageRequest,
+ requestOptions, context));
+ }
+
+ /**
+ * Generate a Microsoft 365 app package
+ *
+ * Generates the Microsoft Teams app package (zip) for a Foundry agent from the supplied publish
+ * request, without publishing it. Returns the app package as `application/zip`.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent to generate the app package for.
+ * @param getMicrosoft365AppPackageRequest The getMicrosoft365AppPackageRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return the response body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getMicrosoft365AppPackageWithResponse(String agentName,
+ BinaryData getMicrosoft365AppPackageRequest, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/zip";
+ return service.getMicrosoft365AppPackageSync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, getMicrosoft365AppPackageRequest,
+ requestOptions, Context.NONE);
+ }
+
+ /**
+ * Get Microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * publishAsDigitalWorker Boolean No When true, returns defaults for publishing the
+ * agent as an autopilot (digital worker) agent.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * appPublishScope: String(Personal/Shared/Tenant) (Optional)
+ * agentName: String (Optional)
+ * agentDisplayName: String (Optional)
+ * appRegistrationClientId: String (Optional)
+ * botServiceArmId: String (Optional)
+ * appVersion: String (Optional)
+ * recommendedNextAppVersion: String (Optional)
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getMicrosoft365PublishDefaultsWithResponseAsync(String agentName,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.getMicrosoft365PublishDefaults(this.client.getEndpoint(),
+ agentName, this.client.getServiceVersion().getVersion(), accept, requestOptions, context));
+ }
+
+ /**
+ * Get Microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * publishAsDigitalWorker Boolean No When true, returns defaults for publishing the
+ * agent as an autopilot (digital worker) agent.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * appPublishScope: String(Personal/Shared/Tenant) (Optional)
+ * agentName: String (Optional)
+ * agentDisplayName: String (Optional)
+ * appRegistrationClientId: String (Optional)
+ * botServiceArmId: String (Optional)
+ * appVersion: String (Optional)
+ * recommendedNextAppVersion: String (Optional)
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @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.
+ * @return microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getMicrosoft365PublishDefaultsWithResponse(String agentName,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return service.getMicrosoft365PublishDefaultsSync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+ }
+
/**
* List conversations
- *
+ *
* Returns the conversations available in the current project.
* Query Parameters
*
@@ -5948,7 +6799,7 @@ public Response deleteSessionFileWithResponse(String agentName, String ses
*
* You can add these to a request with {@link RequestOptions#addHeader}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -5963,7 +6814,7 @@ public Response deleteSessionFileWithResponse(String agentName, String ses
* }
* }
*
- *
+ *
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -5984,7 +6835,7 @@ private Mono> listAgentConversationsSinglePageAsync(Re
/**
* List conversations
- *
+ *
* Returns the conversations available in the current project.
* Query Parameters
*
@@ -6020,7 +6871,7 @@ private Mono> listAgentConversationsSinglePageAsync(Re
*
* You can add these to a request with {@link RequestOptions#addHeader}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -6035,7 +6886,7 @@ private Mono> listAgentConversationsSinglePageAsync(Re
* }
* }
*
- *
+ *
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -6050,7 +6901,7 @@ public PagedFlux listAgentConversationsAsync(RequestOptions requestO
/**
* List conversations
- *
+ *
* Returns the conversations available in the current project.
* Query Parameters
*
@@ -6086,7 +6937,7 @@ public PagedFlux listAgentConversationsAsync(RequestOptions requestO
*
* You can add these to a request with {@link RequestOptions#addHeader}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -6101,7 +6952,7 @@ public PagedFlux listAgentConversationsAsync(RequestOptions requestO
* }
* }
*
- *
+ *
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -6120,7 +6971,7 @@ private PagedResponse listAgentConversationsSinglePage(RequestOption
/**
* List conversations
- *
+ *
* Returns the conversations available in the current project.
* Query Parameters
*
@@ -6156,7 +7007,7 @@ private PagedResponse listAgentConversationsSinglePage(RequestOption
*
* You can add these to a request with {@link RequestOptions#addHeader}
* Response Body Schema
- *
+ *
*
* {@code
* {
@@ -6171,7 +7022,7 @@ private PagedResponse listAgentConversationsSinglePage(RequestOption
* }
* }
*
- *
+ *
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaAgentEndpointConversationsImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaAgentEndpointConversationsImpl.java
new file mode 100644
index 000000000000..196392b6649d
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaAgentEndpointConversationsImpl.java
@@ -0,0 +1,2440 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.ai.agents.implementation;
+
+import com.azure.ai.agents.AgentsServiceVersion;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.exception.ClientAuthenticationException;
+import com.azure.core.exception.HttpResponseException;
+import com.azure.core.exception.ResourceModifiedException;
+import com.azure.core.exception.ResourceNotFoundException;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.RequestOptions;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in BetaAgentEndpointConversations.
+ */
+public final class BetaAgentEndpointConversationsImpl {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final BetaAgentEndpointConversationsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final AgentsClientImpl client;
+
+ /**
+ * Initializes an instance of BetaAgentEndpointConversationsImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ BetaAgentEndpointConversationsImpl(AgentsClientImpl client) {
+ this.service = RestProxy.create(BetaAgentEndpointConversationsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * Gets Service version.
+ *
+ * @return the serviceVersion value.
+ */
+ public AgentsServiceVersion getServiceVersion() {
+ return client.getServiceVersion();
+ }
+
+ /**
+ * The interface defining all the services for AgentsClientBetaAgentEndpointConversations to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "AgentsClientBetaAgentEndpointConversations")
+ public interface BetaAgentEndpointConversationsService {
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> listAgentConversations(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response listAgentConversationsSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getAgentConversation(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getAgentConversationSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Delete("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}")
+ @ExpectedResponses({ 204 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> deleteAgentConversation(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @QueryParam("api-version") String apiVersion, RequestOptions requestOptions, Context context);
+
+ @Delete("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}")
+ @ExpectedResponses({ 204 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response deleteAgentConversationSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @QueryParam("api-version") String apiVersion, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> listAgentConversationResponses(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response listAgentConversationResponsesSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses/{response_id}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getAgentConversationResponse(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @PathParam("response_id") String responseId, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses/{response_id}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getAgentConversationResponseSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @PathParam("response_id") String responseId, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses/{response_id}/items")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> listAgentConversationResponseItems(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @PathParam("response_id") String responseId, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses/{response_id}/items")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response listAgentConversationResponseItemsSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @PathParam("response_id") String responseId, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/items")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono