REST Resource: projects.locations.apps.deployments

Resource: Deployment

A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.

JSON representation
{
  "name": string,
  "displayName": string,
  "appVersion": string,
  "channelProfile": {
    object (ChannelProfile)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "experimentConfig": {
    object (ExperimentConfig)
  },
  "whatsappCredentials": {
    object (WhatsAppCredentials)
  },
  "instagramCredentials": {
    object (InstagramCredentials)
  },
  "modelSettings": {
    object (ModelSettings)
  },
  "modality": enum (Deployment.Modality)
}
Fields
name

string

Identifier. The resource name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

displayName

string

Required. Display name of the deployment.

appVersion

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

object (ChannelProfile)

Required. The channel profile used in the deployment.

createTime

string (Timestamp format)

Output only. Timestamp when this deployment was created.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Output only. Timestamp when this deployment was last updated.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

etag

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

object (ExperimentConfig)

Optional. Experiment configuration for the deployment.

whatsappCredentials

object (WhatsAppCredentials)

Optional. Input only. Ephemeral WhatsApp credentials required when configuring a WhatsApp channel profile.

instagramCredentials

object (InstagramCredentials)

Optional. Input only. Ephemeral Instagram credentials required when configuring a Instagram channel profile.

modelSettings

object (ModelSettings)

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.

modality

enum (Deployment.Modality)

Optional. The modality of the deployment. Note: Deployment-level modality override is gated behind an allowlist. Contact the CXAS team to enable this field.

ExperimentConfig

Experiment for the deployment.

JSON representation
{
  "versionRelease": {
    object (ExperimentConfig.VersionRelease)
  }
}
Fields
versionRelease

object (ExperimentConfig.VersionRelease)

Optional. Version release for the experiment.

ExperimentConfig.VersionRelease

Version release for the experiment.

JSON representation
{
  "state": enum (ExperimentConfig.State),
  "trafficAllocations": [
    {
      object (ExperimentConfig.VersionRelease.TrafficAllocation)
    }
  ]
}
Fields
state

enum (ExperimentConfig.State)

Optional. State of the version release.

trafficAllocations[]

object (ExperimentConfig.VersionRelease.TrafficAllocation)

Optional. Traffic allocations for the version release.

ExperimentConfig.State

State of the experiment.

Enums
STATE_UNSPECIFIED Unspecified state.
PENDING Deprecated: This state is no longer used.
RUNNING Running state. Experiment is running and valid.
DONE Deprecated: This state is no longer used.
EXPIRED Deprecated: This state is no longer used.

ExperimentConfig.VersionRelease.TrafficAllocation

Traffic allocation for the version release.

JSON representation
{
  "id": string,
  "trafficPercentage": integer,
  "appVersion": string
}
Fields
id

string

Optional. Id of the traffic allocation. Free format string, up to 128 characters.

trafficPercentage

integer

Optional. Traffic percentage of the traffic allocation. Must be between 0 and 100.

appVersion

string

Optional. App version of the traffic allocation. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}

WhatsAppCredentials

Ephemeral Meta credentials for WhatsApp native integration.

JSON representation
{
  "authCode": string,
  "pin": string,
  "phoneNumber": string,
  "businessAccountId": string,
  "wabaId": string,
  "conversationProfileId": string
}
Fields
authCode

string

Required. The Meta auth code provided by the embedded signup flow.

pin

string

Required. The 6-digit PIN created by the user for two-step verification.

phoneNumber

string

Required. The phone number to register with WhatsApp.

businessAccountId

string

Required. The Business Account ID to use for the phone number.

wabaId

string

Required. The WhatsApp Business Account ID.

conversationProfileId

string

Optional. The Conversation Profile ID to use for the deployment.

InstagramCredentials

Ephemeral Meta credentials for Instagram native integration.

JSON representation
{
  "authCode": string,
  "conversationProfileId": string
}
Fields
authCode

string

Required. The Meta auth code provided by the embedded signup flow.

conversationProfileId

string

Optional. The Conversation Profile ID to use for the deployment.

Deployment.Modality

The modality of the deployment.

Enums
MODALITY_UNSPECIFIED Unknown modality.
MODALITY_TEXT Text modality.
MODALITY_VOICE Voice modality.
MODALITY_VIDEO Video modality.

Methods

create

Creates a new deployment in the given app.

delete

Deletes the specified deployment.

get

Gets details of the specified deployment.

getExtendedAgentCard

Gets the extended agent card for the authenticated agent.

list

Lists deployments in the given app.

patch

Updates the specified deployment.