Gemini Enterprise for Customer Experience API . projects . locations . apps . deployments

Instance Methods

message()

Returns the message Resource.

close()

Close httplib2 connections.

create(parent, body=None, deploymentId=None, x__xgafv=None)

Creates a new deployment in the given app.

delete(name, etag=None, x__xgafv=None)

Deletes the specified deployment.

get(name, x__xgafv=None)

Gets details of the specified deployment.

getExtendedAgentCard(tenant, x__xgafv=None)

Gets the extended agent card for the authenticated agent.

list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists deployments in the given app.

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates the specified deployment.

Method Details

close()
Close httplib2 connections.
create(parent, body=None, deploymentId=None, x__xgafv=None)
Creates a new deployment in the given app.

Args:
  parent: string, Required. The parent app. Format: `projects/{project}/locations/{location}/apps/{app}` (required)
  body: object, The request body.
    The object takes the form of:

{ # A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.
  "appVersion": "A String", # Optional. The resource name of the app version to deploy. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}` Use `projects/{project}/locations/{location}/apps/{app}/versions/-` to use the draft app.
  "channelProfile": { # A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. # Required. The channel profile used in the deployment.
    "channelType": "A String", # Optional. The type of the channel profile.
    "disableBargeInControl": True or False, # Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt.
    "disableDtmf": True or False, # Optional. Whether to disable DTMF (dual-tone multi-frequency).
    "instagramConfig": { # Configuration specific to Instagram deployments. # Optional. Configuration specific to Instagram deployments.
      "description": "A String", # Output only. The description of the Meta business page or profile.
      "displayName": "A String", # Output only. The fetched Meta business page name.
      "instagramAccountId": "A String", # Required. The Instagram Account ID.
      "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
    },
    "noiseSuppressionLevel": "A String", # Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high".
    "personaProperty": { # Represents the persona property of a channel. # Optional. The persona property of the channel profile.
      "persona": "A String", # Optional. The persona of the channel.
    },
    "profileId": "A String", # Optional. The unique identifier of the channel profile.
    "webWidgetConfig": { # Message for configuration for the web widget. # Optional. The configuration for the web widget.
      "modality": "A String", # Optional. The modality of the web widget.
      "securitySettings": { # Security settings for the web widget. # Optional. The security settings of the web widget.
        "allowedOrigins": [ # Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com"
          "A String",
        ],
        "enableOriginCheck": True or False, # Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins.
        "enablePublicAccess": True or False, # Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent.
        "enableRecaptcha": True or False, # Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.
      },
      "theme": "A String", # Optional. The theme of the web widget.
      "webWidgetTitle": "A String", # Optional. The title of the web widget.
    },
    "whatsappConfig": { # Configuration specific to WhatsApp deployments. # Optional. Configuration specific to WhatsApp deployments.
      "description": "A String", # Output only. The description of the Meta business page or profile.
      "displayName": "A String", # Output only. The fetched Meta business page name.
      "phoneNumber": "A String", # Optional. The phone number in E.164 format.
      "phoneNumberId": "A String", # Required. The Meta phone number ID.
      "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
      "wabaId": "A String", # Required. The WhatsApp Business Account ID.
    },
  },
  "createTime": "A String", # Output only. Timestamp when this deployment was created.
  "displayName": "A String", # Required. Display name of the deployment.
  "etag": "A String", # Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
  "experimentConfig": { # Experiment for the deployment. # Optional. Experiment configuration for the deployment.
    "versionRelease": { # Version release for the experiment. # Optional. Version release for the experiment.
      "state": "A String", # Optional. State of the version release.
      "trafficAllocations": [ # Optional. Traffic allocations for the version release.
        { # Traffic allocation for the version release.
          "appVersion": "A String", # Optional. App version of the traffic allocation. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
          "id": "A String", # Optional. Id of the traffic allocation. Free format string, up to 128 characters.
          "trafficPercentage": 42, # Optional. Traffic percentage of the traffic allocation. Must be between 0 and 100.
        },
      ],
    },
  },
  "instagramCredentials": { # Ephemeral Meta credentials for Instagram native integration. # Optional. Input only. Ephemeral Instagram credentials required when configuring a Instagram channel profile.
    "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
    "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
  },
  "modality": "A String", # Optional. The modality of the deployment. Note: Deployment-level modality override is gated behind an allowlist. Contact the CXAS team to enable this field.
  "modelSettings": { # Model settings contains various configurations for the LLM model. # Optional. Model settings for the deployment. Overrides model settings configured at the app/agent levels. Note: Deployment-level model settings override is gated behind an allowlist. Contact the CXAS team to enable this field.
    "model": "A String", # Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
    "temperature": 3.14, # Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.
  },
  "name": "A String", # Identifier. The resource name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`
  "updateTime": "A String", # Output only. Timestamp when this deployment was last updated.
  "whatsappCredentials": { # Ephemeral Meta credentials for WhatsApp native integration. # Optional. Input only. Ephemeral WhatsApp credentials required when configuring a WhatsApp channel profile.
    "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
    "businessAccountId": "A String", # Required. The Business Account ID to use for the phone number.
    "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
    "phoneNumber": "A String", # Required. The phone number to register with WhatsApp.
    "pin": "A String", # Required. The 6-digit PIN created by the user for two-step verification.
    "wabaId": "A String", # Required. The WhatsApp Business Account ID.
  },
}

  deploymentId: string, Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.
  "appVersion": "A String", # Optional. The resource name of the app version to deploy. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}` Use `projects/{project}/locations/{location}/apps/{app}/versions/-` to use the draft app.
  "channelProfile": { # A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. # Required. The channel profile used in the deployment.
    "channelType": "A String", # Optional. The type of the channel profile.
    "disableBargeInControl": True or False, # Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt.
    "disableDtmf": True or False, # Optional. Whether to disable DTMF (dual-tone multi-frequency).
    "instagramConfig": { # Configuration specific to Instagram deployments. # Optional. Configuration specific to Instagram deployments.
      "description": "A String", # Output only. The description of the Meta business page or profile.
      "displayName": "A String", # Output only. The fetched Meta business page name.
      "instagramAccountId": "A String", # Required. The Instagram Account ID.
      "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
    },
    "noiseSuppressionLevel": "A String", # Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high".
    "personaProperty": { # Represents the persona property of a channel. # Optional. The persona property of the channel profile.
      "persona": "A String", # Optional. The persona of the channel.
    },
    "profileId": "A String", # Optional. The unique identifier of the channel profile.
    "webWidgetConfig": { # Message for configuration for the web widget. # Optional. The configuration for the web widget.
      "modality": "A String", # Optional. The modality of the web widget.
      "securitySettings": { # Security settings for the web widget. # Optional. The security settings of the web widget.
        "allowedOrigins": [ # Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com"
          "A String",
        ],
        "enableOriginCheck": True or False, # Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins.
        "enablePublicAccess": True or False, # Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent.
        "enableRecaptcha": True or False, # Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.
      },
      "theme": "A String", # Optional. The theme of the web widget.
      "webWidgetTitle": "A String", # Optional. The title of the web widget.
    },
    "whatsappConfig": { # Configuration specific to WhatsApp deployments. # Optional. Configuration specific to WhatsApp deployments.
      "description": "A String", # Output only. The description of the Meta business page or profile.
      "displayName": "A String", # Output only. The fetched Meta business page name.
      "phoneNumber": "A String", # Optional. The phone number in E.164 format.
      "phoneNumberId": "A String", # Required. The Meta phone number ID.
      "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
      "wabaId": "A String", # Required. The WhatsApp Business Account ID.
    },
  },
  "createTime": "A String", # Output only. Timestamp when this deployment was created.
  "displayName": "A String", # Required. Display name of the deployment.
  "etag": "A String", # Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
  "experimentConfig": { # Experiment for the deployment. # Optional. Experiment configuration for the deployment.
    "versionRelease": { # Version release for the experiment. # Optional. Version release for the experiment.
      "state": "A String", # Optional. State of the version release.
      "trafficAllocations": [ # Optional. Traffic allocations for the version release.
        { # Traffic allocation for the version release.
          "appVersion": "A String", # Optional. App version of the traffic allocation. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
          "id": "A String", # Optional. Id of the traffic allocation. Free format string, up to 128 characters.
          "trafficPercentage": 42, # Optional. Traffic percentage of the traffic allocation. Must be between 0 and 100.
        },
      ],
    },
  },
  "instagramCredentials": { # Ephemeral Meta credentials for Instagram native integration. # Optional. Input only. Ephemeral Instagram credentials required when configuring a Instagram channel profile.
    "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
    "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
  },
  "modality": "A String", # Optional. The modality of the deployment. Note: Deployment-level modality override is gated behind an allowlist. Contact the CXAS team to enable this field.
  "modelSettings": { # Model settings contains various configurations for the LLM model. # Optional. Model settings for the deployment. Overrides model settings configured at the app/agent levels. Note: Deployment-level model settings override is gated behind an allowlist. Contact the CXAS team to enable this field.
    "model": "A String", # Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
    "temperature": 3.14, # Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.
  },
  "name": "A String", # Identifier. The resource name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`
  "updateTime": "A String", # Output only. Timestamp when this deployment was last updated.
  "whatsappCredentials": { # Ephemeral Meta credentials for WhatsApp native integration. # Optional. Input only. Ephemeral WhatsApp credentials required when configuring a WhatsApp channel profile.
    "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
    "businessAccountId": "A String", # Required. The Business Account ID to use for the phone number.
    "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
    "phoneNumber": "A String", # Required. The phone number to register with WhatsApp.
    "pin": "A String", # Required. The 6-digit PIN created by the user for two-step verification.
    "wabaId": "A String", # Required. The WhatsApp Business Account ID.
  },
}
delete(name, etag=None, x__xgafv=None)
Deletes the specified deployment.

Args:
  name: string, Required. The name of the deployment to delete. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}` (required)
  etag: string, Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}
get(name, x__xgafv=None)
Gets details of the specified deployment.

Args:
  name: string, Required. The name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.
  "appVersion": "A String", # Optional. The resource name of the app version to deploy. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}` Use `projects/{project}/locations/{location}/apps/{app}/versions/-` to use the draft app.
  "channelProfile": { # A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. # Required. The channel profile used in the deployment.
    "channelType": "A String", # Optional. The type of the channel profile.
    "disableBargeInControl": True or False, # Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt.
    "disableDtmf": True or False, # Optional. Whether to disable DTMF (dual-tone multi-frequency).
    "instagramConfig": { # Configuration specific to Instagram deployments. # Optional. Configuration specific to Instagram deployments.
      "description": "A String", # Output only. The description of the Meta business page or profile.
      "displayName": "A String", # Output only. The fetched Meta business page name.
      "instagramAccountId": "A String", # Required. The Instagram Account ID.
      "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
    },
    "noiseSuppressionLevel": "A String", # Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high".
    "personaProperty": { # Represents the persona property of a channel. # Optional. The persona property of the channel profile.
      "persona": "A String", # Optional. The persona of the channel.
    },
    "profileId": "A String", # Optional. The unique identifier of the channel profile.
    "webWidgetConfig": { # Message for configuration for the web widget. # Optional. The configuration for the web widget.
      "modality": "A String", # Optional. The modality of the web widget.
      "securitySettings": { # Security settings for the web widget. # Optional. The security settings of the web widget.
        "allowedOrigins": [ # Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com"
          "A String",
        ],
        "enableOriginCheck": True or False, # Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins.
        "enablePublicAccess": True or False, # Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent.
        "enableRecaptcha": True or False, # Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.
      },
      "theme": "A String", # Optional. The theme of the web widget.
      "webWidgetTitle": "A String", # Optional. The title of the web widget.
    },
    "whatsappConfig": { # Configuration specific to WhatsApp deployments. # Optional. Configuration specific to WhatsApp deployments.
      "description": "A String", # Output only. The description of the Meta business page or profile.
      "displayName": "A String", # Output only. The fetched Meta business page name.
      "phoneNumber": "A String", # Optional. The phone number in E.164 format.
      "phoneNumberId": "A String", # Required. The Meta phone number ID.
      "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
      "wabaId": "A String", # Required. The WhatsApp Business Account ID.
    },
  },
  "createTime": "A String", # Output only. Timestamp when this deployment was created.
  "displayName": "A String", # Required. Display name of the deployment.
  "etag": "A String", # Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
  "experimentConfig": { # Experiment for the deployment. # Optional. Experiment configuration for the deployment.
    "versionRelease": { # Version release for the experiment. # Optional. Version release for the experiment.
      "state": "A String", # Optional. State of the version release.
      "trafficAllocations": [ # Optional. Traffic allocations for the version release.
        { # Traffic allocation for the version release.
          "appVersion": "A String", # Optional. App version of the traffic allocation. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
          "id": "A String", # Optional. Id of the traffic allocation. Free format string, up to 128 characters.
          "trafficPercentage": 42, # Optional. Traffic percentage of the traffic allocation. Must be between 0 and 100.
        },
      ],
    },
  },
  "instagramCredentials": { # Ephemeral Meta credentials for Instagram native integration. # Optional. Input only. Ephemeral Instagram credentials required when configuring a Instagram channel profile.
    "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
    "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
  },
  "modality": "A String", # Optional. The modality of the deployment. Note: Deployment-level modality override is gated behind an allowlist. Contact the CXAS team to enable this field.
  "modelSettings": { # Model settings contains various configurations for the LLM model. # Optional. Model settings for the deployment. Overrides model settings configured at the app/agent levels. Note: Deployment-level model settings override is gated behind an allowlist. Contact the CXAS team to enable this field.
    "model": "A String", # Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
    "temperature": 3.14, # Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.
  },
  "name": "A String", # Identifier. The resource name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`
  "updateTime": "A String", # Output only. Timestamp when this deployment was last updated.
  "whatsappCredentials": { # Ephemeral Meta credentials for WhatsApp native integration. # Optional. Input only. Ephemeral WhatsApp credentials required when configuring a WhatsApp channel profile.
    "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
    "businessAccountId": "A String", # Required. The Business Account ID to use for the phone number.
    "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
    "phoneNumber": "A String", # Required. The phone number to register with WhatsApp.
    "pin": "A String", # Required. The 6-digit PIN created by the user for two-step verification.
    "wabaId": "A String", # Required. The WhatsApp Business Account ID.
  },
}
getExtendedAgentCard(tenant, x__xgafv=None)
Gets the extended agent card for the authenticated agent.

Args:
  tenant: string, Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A self-describing manifest for an agent. It provides essential metadata including the agent's identity, capabilities, skills, supported communication methods, and security requirements. Next ID: 20
  "capabilities": { # Defines optional capabilities supported by an agent. # Required. A2A Capability set supported by the agent.
    "extendedAgentCard": True or False, # Indicates if the agent supports providing an extended agent card when authenticated.
    "extensions": [ # A list of protocol extensions supported by the agent.
      { # A declaration of a protocol extension supported by an Agent.
        "description": "A String", # A human-readable description of how this agent uses the extension.
        "params": { # Optional. Extension-specific configuration parameters.
          "a_key": "", # Properties of the object.
        },
        "required": True or False, # If true, the client must understand and comply with the extension's requirements.
        "uri": "A String", # The unique URI identifying the extension.
      },
    ],
    "pushNotifications": True or False, # Indicates if the agent supports sending push notifications for asynchronous task updates.
    "streaming": True or False, # Indicates if the agent supports streaming responses.
  },
  "defaultInputModes": [ # Required. protolint:enable REPEATED_FIELD_NAMES_PLURALIZED The set of interaction modes that the agent supports across all skills. This can be overridden per skill. Defined as media types.
    "A String",
  ],
  "defaultOutputModes": [ # Required. The media types supported as outputs from this agent.
    "A String",
  ],
  "description": "A String", # Required. A human-readable description of the agent, assisting users and other agents in understanding its purpose. Example: "Agent that helps users with recipes and cooking."
  "documentationUrl": "A String", # A URL providing additional documentation about the agent.
  "iconUrl": "A String", # Optional. A URL to an icon for the agent.
  "name": "A String", # Required. A human readable name for the agent. Example: "Recipe Agent"
  "provider": { # Represents the service provider of an agent. # The service provider of the agent.
    "organization": "A String", # Required. The name of the agent provider's organization. Example: "Google"
    "url": "A String", # Required. A URL for the agent provider's website or relevant documentation. Example: "https://ai.google.dev"
  },
  "securityRequirements": [ # Security requirements for contacting the agent.
    { # Defines the security requirements for an agent.
      "schemes": { # A map of security schemes to the required scopes.
        "a_key": { # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings.
          "list": [ # The individual string values.
            "A String",
          ],
        },
      },
    },
  ],
  "securitySchemes": { # The security scheme details used for authenticating with this agent.
    "a_key": { # Defines a security scheme that can be used to secure an agent's endpoints. This is a discriminated union type based on the OpenAPI 3.2 Security Scheme Object. See: https://spec.openapis.org/oas/v3.2.0.html#security-scheme-object
      "apiKeySecurityScheme": { # Defines a security scheme using an API key. # API key-based authentication.
        "description": "A String", # An optional description for the security scheme.
        "location": "A String", # Required. The location of the API key. Valid values are "query", "header", or "cookie".
        "name": "A String", # Required. The name of the header, query, or cookie parameter to be used.
      },
      "httpAuthSecurityScheme": { # Defines a security scheme using HTTP authentication. # HTTP authentication (Basic, Bearer, etc.).
        "bearerFormat": "A String", # A hint to the client to identify how the bearer token is formatted (e.g., "JWT"). Primarily for documentation purposes.
        "description": "A String", # An optional description for the security scheme.
        "scheme": "A String", # Required. The name of the HTTP Authentication scheme to be used in the Authorization header, as defined in RFC7235 (e.g., "Bearer"). This value should be registered in the IANA Authentication Scheme registry.
      },
      "mtlsSecurityScheme": { # Defines a security scheme using mTLS authentication. # Mutual TLS authentication.
        "description": "A String", # An optional description for the security scheme.
      },
      "oauth2SecurityScheme": { # Defines a security scheme using OAuth 2.0. # OAuth 2.0 authentication.
        "description": "A String", # An optional description for the security scheme.
        "flows": { # Defines the configuration for the supported OAuth 2.0 flows. # Required. An object containing configuration information for the supported OAuth 2.0 flows.
          "authorizationCode": { # Defines configuration details for the OAuth 2.0 Authorization Code flow. # Configuration for the OAuth Authorization Code flow.
            "authorizationUrl": "A String", # Required. The authorization URL to be used for this flow.
            "pkceRequired": True or False, # Indicates if PKCE (RFC 7636) is required for this flow. PKCE should always be used for public clients and is recommended for all clients.
            "refreshUrl": "A String", # The URL to be used for obtaining refresh tokens.
            "scopes": { # Required. The available scopes for the OAuth2 security scheme.
              "a_key": "A String",
            },
            "tokenUrl": "A String", # Required. The token URL to be used for this flow.
          },
          "clientCredentials": { # Defines configuration details for the OAuth 2.0 Client Credentials flow. # Configuration for the OAuth Client Credentials flow.
            "refreshUrl": "A String", # The URL to be used for obtaining refresh tokens.
            "scopes": { # Required. The available scopes for the OAuth2 security scheme.
              "a_key": "A String",
            },
            "tokenUrl": "A String", # Required. The token URL to be used for this flow.
          },
          "deviceCode": { # Defines configuration details for the OAuth 2.0 Device Code flow (RFC 8628). This flow is designed for input-constrained devices such as IoT devices, and CLI tools where the user authenticates on a separate device. # Configuration for the OAuth Device Code flow.
            "deviceAuthorizationUrl": "A String", # Required. The device authorization endpoint URL.
            "refreshUrl": "A String", # The URL to be used for obtaining refresh tokens.
            "scopes": { # Required. The available scopes for the OAuth2 security scheme.
              "a_key": "A String",
            },
            "tokenUrl": "A String", # Required. The token URL to be used for this flow.
          },
          "implicit": { # Deprecated: Use Authorization Code + PKCE instead. # Deprecated: Use Authorization Code + PKCE instead.
            "authorizationUrl": "A String", # The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS
            "refreshUrl": "A String", # The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.
            "scopes": { # The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.
              "a_key": "A String",
            },
          },
          "password": { # Deprecated: Use Authorization Code + PKCE or Device Code. # Deprecated: Use Authorization Code + PKCE or Device Code.
            "refreshUrl": "A String", # The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.
            "scopes": { # The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.
              "a_key": "A String",
            },
            "tokenUrl": "A String", # The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.
          },
        },
        "oauth2MetadataUrl": "A String", # URL to the OAuth2 authorization server metadata [RFC 8414](https://datatracker.ietf.org/doc/html/rfc8414). TLS is required.
      },
      "openIdConnectSecurityScheme": { # Defines a security scheme using OpenID Connect. # OpenID Connect authentication.
        "description": "A String", # An optional description for the security scheme.
        "openIdConnectUrl": "A String", # Required. The [OpenID Connect Discovery URL](https://openid.net/specs/openid-connect-discovery-1_0.html) for the OIDC provider's metadata.
      },
    },
  },
  "signatures": [ # JSON Web Signatures computed for this `AgentCard`.
    { # AgentCardSignature represents a JWS signature of an AgentCard. This follows the JSON format of an RFC 7515 JSON Web Signature (JWS).
      "header": { # The unprotected JWS header values.
        "a_key": "", # Properties of the object.
      },
      "protected": "A String", # Required. Required. The protected JWS header for the signature. This is always a base64url-encoded JSON object.
      "signature": "A String", # Required. The computed signature, base64url-encoded.
    },
  ],
  "skills": [ # Required. Skills represent the abilities of an agent. It is largely a descriptive concept but represents a more focused set of behaviors that the agent is likely to succeed at.
    { # Represents a distinct capability or function that an agent can perform.
      "description": "A String", # Required. A detailed description of the skill.
      "examples": [ # Example prompts or scenarios that this skill can handle.
        "A String",
      ],
      "id": "A String", # Required. A unique identifier for the agent's skill.
      "inputModes": [ # The set of supported input media types for this skill, overriding the agent's defaults.
        "A String",
      ],
      "name": "A String", # Required. A human-readable name for the skill.
      "outputModes": [ # The set of supported output media types for this skill, overriding the agent's defaults.
        "A String",
      ],
      "securityRequirements": [ # Security schemes necessary for this skill.
        { # Defines the security requirements for an agent.
          "schemes": { # A map of security schemes to the required scopes.
            "a_key": { # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings.
              "list": [ # The individual string values.
                "A String",
              ],
            },
          },
        },
      ],
      "tags": [ # Required. A set of keywords describing the skill's capabilities.
        "A String",
      ],
    },
  ],
  "supportedInterfaces": [ # Required. Ordered list of supported interfaces. The first entry is preferred.
    { # Declares a combination of a target URL, transport and protocol version for interacting with the agent. This allows agents to expose the same functionality over multiple protocol binding mechanisms.
      "protocolBinding": "A String", # Required. The protocol binding supported at this URL. This is an open form string, to be easily extended for other protocol bindings. The core ones officially supported are `JSONRPC`, `GRPC` and `HTTP+JSON`.
      "protocolVersion": "A String", # Required. The version of the A2A protocol this interface exposes. Use the latest supported minor version per major version. Examples: "0.3", "1.0"
      "tenant": "A String", # Optional. An opaque string used for routing requests to a specific agent or tenant when multiple agents are served behind a single A2A endpoint. When set, clients MUST include this value in the `tenant` field of all request messages sent to this interface. The server is responsible for interpreting the value and routing requests accordingly; the protocol does not define its format or semantics.
      "url": "A String", # Required. The URL where this interface is available. Must be a valid absolute HTTPS URL in production. Example: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"
    },
  ],
  "version": "A String", # Required. The version of the agent. Example: "1.0.0"
}
list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists deployments in the given app.

Args:
  parent: string, Required. The parent app. Format: `projects/{project}/locations/{location}/apps/{app}` (required)
  orderBy: string, Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details.
  pageSize: integer, Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
  pageToken: string, Optional. A page token, received from a previous `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for AgentService.ListDeployments.
  "deployments": [ # The list of deployments.
    { # A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.
      "appVersion": "A String", # Optional. The resource name of the app version to deploy. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}` Use `projects/{project}/locations/{location}/apps/{app}/versions/-` to use the draft app.
      "channelProfile": { # A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. # Required. The channel profile used in the deployment.
        "channelType": "A String", # Optional. The type of the channel profile.
        "disableBargeInControl": True or False, # Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt.
        "disableDtmf": True or False, # Optional. Whether to disable DTMF (dual-tone multi-frequency).
        "instagramConfig": { # Configuration specific to Instagram deployments. # Optional. Configuration specific to Instagram deployments.
          "description": "A String", # Output only. The description of the Meta business page or profile.
          "displayName": "A String", # Output only. The fetched Meta business page name.
          "instagramAccountId": "A String", # Required. The Instagram Account ID.
          "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
        },
        "noiseSuppressionLevel": "A String", # Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high".
        "personaProperty": { # Represents the persona property of a channel. # Optional. The persona property of the channel profile.
          "persona": "A String", # Optional. The persona of the channel.
        },
        "profileId": "A String", # Optional. The unique identifier of the channel profile.
        "webWidgetConfig": { # Message for configuration for the web widget. # Optional. The configuration for the web widget.
          "modality": "A String", # Optional. The modality of the web widget.
          "securitySettings": { # Security settings for the web widget. # Optional. The security settings of the web widget.
            "allowedOrigins": [ # Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com"
              "A String",
            ],
            "enableOriginCheck": True or False, # Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins.
            "enablePublicAccess": True or False, # Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent.
            "enableRecaptcha": True or False, # Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.
          },
          "theme": "A String", # Optional. The theme of the web widget.
          "webWidgetTitle": "A String", # Optional. The title of the web widget.
        },
        "whatsappConfig": { # Configuration specific to WhatsApp deployments. # Optional. Configuration specific to WhatsApp deployments.
          "description": "A String", # Output only. The description of the Meta business page or profile.
          "displayName": "A String", # Output only. The fetched Meta business page name.
          "phoneNumber": "A String", # Optional. The phone number in E.164 format.
          "phoneNumberId": "A String", # Required. The Meta phone number ID.
          "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
          "wabaId": "A String", # Required. The WhatsApp Business Account ID.
        },
      },
      "createTime": "A String", # Output only. Timestamp when this deployment was created.
      "displayName": "A String", # Required. Display name of the deployment.
      "etag": "A String", # Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
      "experimentConfig": { # Experiment for the deployment. # Optional. Experiment configuration for the deployment.
        "versionRelease": { # Version release for the experiment. # Optional. Version release for the experiment.
          "state": "A String", # Optional. State of the version release.
          "trafficAllocations": [ # Optional. Traffic allocations for the version release.
            { # Traffic allocation for the version release.
              "appVersion": "A String", # Optional. App version of the traffic allocation. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
              "id": "A String", # Optional. Id of the traffic allocation. Free format string, up to 128 characters.
              "trafficPercentage": 42, # Optional. Traffic percentage of the traffic allocation. Must be between 0 and 100.
            },
          ],
        },
      },
      "instagramCredentials": { # Ephemeral Meta credentials for Instagram native integration. # Optional. Input only. Ephemeral Instagram credentials required when configuring a Instagram channel profile.
        "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
        "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
      },
      "modality": "A String", # Optional. The modality of the deployment. Note: Deployment-level modality override is gated behind an allowlist. Contact the CXAS team to enable this field.
      "modelSettings": { # Model settings contains various configurations for the LLM model. # Optional. Model settings for the deployment. Overrides model settings configured at the app/agent levels. Note: Deployment-level model settings override is gated behind an allowlist. Contact the CXAS team to enable this field.
        "model": "A String", # Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
        "temperature": 3.14, # Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.
      },
      "name": "A String", # Identifier. The resource name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`
      "updateTime": "A String", # Output only. Timestamp when this deployment was last updated.
      "whatsappCredentials": { # Ephemeral Meta credentials for WhatsApp native integration. # Optional. Input only. Ephemeral WhatsApp credentials required when configuring a WhatsApp channel profile.
        "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
        "businessAccountId": "A String", # Required. The Business Account ID to use for the phone number.
        "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
        "phoneNumber": "A String", # Required. The phone number to register with WhatsApp.
        "pin": "A String", # Required. The 6-digit PIN created by the user for two-step verification.
        "wabaId": "A String", # Required. The WhatsApp Business Account ID.
      },
    },
  ],
  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
patch(name, body=None, updateMask=None, x__xgafv=None)
Updates the specified deployment.

Args:
  name: string, Identifier. The resource name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}` (required)
  body: object, The request body.
    The object takes the form of:

{ # A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.
  "appVersion": "A String", # Optional. The resource name of the app version to deploy. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}` Use `projects/{project}/locations/{location}/apps/{app}/versions/-` to use the draft app.
  "channelProfile": { # A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. # Required. The channel profile used in the deployment.
    "channelType": "A String", # Optional. The type of the channel profile.
    "disableBargeInControl": True or False, # Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt.
    "disableDtmf": True or False, # Optional. Whether to disable DTMF (dual-tone multi-frequency).
    "instagramConfig": { # Configuration specific to Instagram deployments. # Optional. Configuration specific to Instagram deployments.
      "description": "A String", # Output only. The description of the Meta business page or profile.
      "displayName": "A String", # Output only. The fetched Meta business page name.
      "instagramAccountId": "A String", # Required. The Instagram Account ID.
      "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
    },
    "noiseSuppressionLevel": "A String", # Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high".
    "personaProperty": { # Represents the persona property of a channel. # Optional. The persona property of the channel profile.
      "persona": "A String", # Optional. The persona of the channel.
    },
    "profileId": "A String", # Optional. The unique identifier of the channel profile.
    "webWidgetConfig": { # Message for configuration for the web widget. # Optional. The configuration for the web widget.
      "modality": "A String", # Optional. The modality of the web widget.
      "securitySettings": { # Security settings for the web widget. # Optional. The security settings of the web widget.
        "allowedOrigins": [ # Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com"
          "A String",
        ],
        "enableOriginCheck": True or False, # Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins.
        "enablePublicAccess": True or False, # Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent.
        "enableRecaptcha": True or False, # Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.
      },
      "theme": "A String", # Optional. The theme of the web widget.
      "webWidgetTitle": "A String", # Optional. The title of the web widget.
    },
    "whatsappConfig": { # Configuration specific to WhatsApp deployments. # Optional. Configuration specific to WhatsApp deployments.
      "description": "A String", # Output only. The description of the Meta business page or profile.
      "displayName": "A String", # Output only. The fetched Meta business page name.
      "phoneNumber": "A String", # Optional. The phone number in E.164 format.
      "phoneNumberId": "A String", # Required. The Meta phone number ID.
      "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
      "wabaId": "A String", # Required. The WhatsApp Business Account ID.
    },
  },
  "createTime": "A String", # Output only. Timestamp when this deployment was created.
  "displayName": "A String", # Required. Display name of the deployment.
  "etag": "A String", # Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
  "experimentConfig": { # Experiment for the deployment. # Optional. Experiment configuration for the deployment.
    "versionRelease": { # Version release for the experiment. # Optional. Version release for the experiment.
      "state": "A String", # Optional. State of the version release.
      "trafficAllocations": [ # Optional. Traffic allocations for the version release.
        { # Traffic allocation for the version release.
          "appVersion": "A String", # Optional. App version of the traffic allocation. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
          "id": "A String", # Optional. Id of the traffic allocation. Free format string, up to 128 characters.
          "trafficPercentage": 42, # Optional. Traffic percentage of the traffic allocation. Must be between 0 and 100.
        },
      ],
    },
  },
  "instagramCredentials": { # Ephemeral Meta credentials for Instagram native integration. # Optional. Input only. Ephemeral Instagram credentials required when configuring a Instagram channel profile.
    "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
    "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
  },
  "modality": "A String", # Optional. The modality of the deployment. Note: Deployment-level modality override is gated behind an allowlist. Contact the CXAS team to enable this field.
  "modelSettings": { # Model settings contains various configurations for the LLM model. # Optional. Model settings for the deployment. Overrides model settings configured at the app/agent levels. Note: Deployment-level model settings override is gated behind an allowlist. Contact the CXAS team to enable this field.
    "model": "A String", # Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
    "temperature": 3.14, # Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.
  },
  "name": "A String", # Identifier. The resource name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`
  "updateTime": "A String", # Output only. Timestamp when this deployment was last updated.
  "whatsappCredentials": { # Ephemeral Meta credentials for WhatsApp native integration. # Optional. Input only. Ephemeral WhatsApp credentials required when configuring a WhatsApp channel profile.
    "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
    "businessAccountId": "A String", # Required. The Business Account ID to use for the phone number.
    "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
    "phoneNumber": "A String", # Required. The phone number to register with WhatsApp.
    "pin": "A String", # Required. The 6-digit PIN created by the user for two-step verification.
    "wabaId": "A String", # Required. The WhatsApp Business Account ID.
  },
}

  updateMask: string, Optional. The list of fields to update.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.
  "appVersion": "A String", # Optional. The resource name of the app version to deploy. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}` Use `projects/{project}/locations/{location}/apps/{app}/versions/-` to use the draft app.
  "channelProfile": { # A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. # Required. The channel profile used in the deployment.
    "channelType": "A String", # Optional. The type of the channel profile.
    "disableBargeInControl": True or False, # Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt.
    "disableDtmf": True or False, # Optional. Whether to disable DTMF (dual-tone multi-frequency).
    "instagramConfig": { # Configuration specific to Instagram deployments. # Optional. Configuration specific to Instagram deployments.
      "description": "A String", # Output only. The description of the Meta business page or profile.
      "displayName": "A String", # Output only. The fetched Meta business page name.
      "instagramAccountId": "A String", # Required. The Instagram Account ID.
      "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
    },
    "noiseSuppressionLevel": "A String", # Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high".
    "personaProperty": { # Represents the persona property of a channel. # Optional. The persona property of the channel profile.
      "persona": "A String", # Optional. The persona of the channel.
    },
    "profileId": "A String", # Optional. The unique identifier of the channel profile.
    "webWidgetConfig": { # Message for configuration for the web widget. # Optional. The configuration for the web widget.
      "modality": "A String", # Optional. The modality of the web widget.
      "securitySettings": { # Security settings for the web widget. # Optional. The security settings of the web widget.
        "allowedOrigins": [ # Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com"
          "A String",
        ],
        "enableOriginCheck": True or False, # Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins.
        "enablePublicAccess": True or False, # Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent.
        "enableRecaptcha": True or False, # Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.
      },
      "theme": "A String", # Optional. The theme of the web widget.
      "webWidgetTitle": "A String", # Optional. The title of the web widget.
    },
    "whatsappConfig": { # Configuration specific to WhatsApp deployments. # Optional. Configuration specific to WhatsApp deployments.
      "description": "A String", # Output only. The description of the Meta business page or profile.
      "displayName": "A String", # Output only. The fetched Meta business page name.
      "phoneNumber": "A String", # Optional. The phone number in E.164 format.
      "phoneNumberId": "A String", # Required. The Meta phone number ID.
      "thumbnailUrl": "A String", # Output only. The fetched Meta business profile thumbnail URL.
      "wabaId": "A String", # Required. The WhatsApp Business Account ID.
    },
  },
  "createTime": "A String", # Output only. Timestamp when this deployment was created.
  "displayName": "A String", # Required. Display name of the deployment.
  "etag": "A String", # Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
  "experimentConfig": { # Experiment for the deployment. # Optional. Experiment configuration for the deployment.
    "versionRelease": { # Version release for the experiment. # Optional. Version release for the experiment.
      "state": "A String", # Optional. State of the version release.
      "trafficAllocations": [ # Optional. Traffic allocations for the version release.
        { # Traffic allocation for the version release.
          "appVersion": "A String", # Optional. App version of the traffic allocation. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
          "id": "A String", # Optional. Id of the traffic allocation. Free format string, up to 128 characters.
          "trafficPercentage": 42, # Optional. Traffic percentage of the traffic allocation. Must be between 0 and 100.
        },
      ],
    },
  },
  "instagramCredentials": { # Ephemeral Meta credentials for Instagram native integration. # Optional. Input only. Ephemeral Instagram credentials required when configuring a Instagram channel profile.
    "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
    "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
  },
  "modality": "A String", # Optional. The modality of the deployment. Note: Deployment-level modality override is gated behind an allowlist. Contact the CXAS team to enable this field.
  "modelSettings": { # Model settings contains various configurations for the LLM model. # Optional. Model settings for the deployment. Overrides model settings configured at the app/agent levels. Note: Deployment-level model settings override is gated behind an allowlist. Contact the CXAS team to enable this field.
    "model": "A String", # Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
    "temperature": 3.14, # Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.
  },
  "name": "A String", # Identifier. The resource name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`
  "updateTime": "A String", # Output only. Timestamp when this deployment was last updated.
  "whatsappCredentials": { # Ephemeral Meta credentials for WhatsApp native integration. # Optional. Input only. Ephemeral WhatsApp credentials required when configuring a WhatsApp channel profile.
    "authCode": "A String", # Required. The Meta auth code provided by the embedded signup flow.
    "businessAccountId": "A String", # Required. The Business Account ID to use for the phone number.
    "conversationProfileId": "A String", # Optional. The Conversation Profile ID to use for the deployment.
    "phoneNumber": "A String", # Required. The phone number to register with WhatsApp.
    "pin": "A String", # Required. The 6-digit PIN created by the user for two-step verification.
    "wabaId": "A String", # Required. The WhatsApp Business Account ID.
  },
}