---
title: "POST /v1/{+parent}/deployments"
method: POST
path: "/v1/{+parent}/deployments"
tags: ["projects"]
---

# POST /v1/{+parent}/deployments

`POST /v1/{+parent}/deployments`

Creates a new deployment in the given app.

## Path parameters

- `parent` string, required

## Query parameters

- `deploymentId` string

## Request body

- Deployment — A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.
  - `whatsappCredentials` WhatsAppCredentials — Ephemeral Meta credentials for WhatsApp native integration.
    - `businessAccountId` string — Required. The Business Account ID to use for the phone number.
    - `wabaId` string — Required. The WhatsApp Business Account ID.
    - `pin` string — Required. The 6-digit PIN created by the user for two-step verification.
    - `authCode` string — Required. The Meta auth code provided by the embedded signup flow.
    - `phoneNumber` string — Required. The phone number to register with WhatsApp.
    - `conversationProfileId` string — Optional. The Conversation Profile ID to use for the deployment.
  - `instagramCredentials` InstagramCredentials — Ephemeral Meta credentials for Instagram native integration.
    - `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.
  - `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.
  - `createTime` string, google-datetime — Output only. Timestamp when this deployment was created.
  - `updateTime` string, google-datetime — Output only. Timestamp when this deployment was last updated.
  - `name` string — Identifier. The resource name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`
  - `channelProfile` ChannelProfile — A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony.
    - `disableBargeInControl` boolean — 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.
    - `personaProperty` ChannelProfilePersonaProperty — Represents the persona property of a channel.
      - `persona` 'UNKNOWN' | 'CONCISE' | 'CHATTY' — Optional. The persona of the channel.
    - `noiseSuppressionLevel` string — Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high".
    - `whatsappConfig` ChannelProfileWhatsAppConfig — Configuration specific to WhatsApp deployments.
      - `phoneNumber` string — Optional. The phone number in E.164 format.
      - `phoneNumberId` string — Required. The Meta phone number ID.
      - `description` string — Output only. The description of the Meta business page or profile.
      - `displayName` string — Output only. The fetched Meta business page name.
      - `wabaId` string — Required. The WhatsApp Business Account ID.
      - `thumbnailUrl` string — Output only. The fetched Meta business profile thumbnail URL.
    - `webWidgetConfig` ChannelProfileWebWidgetConfig — Message for configuration for the web widget.
      - `modality` 'MODALITY_UNSPECIFIED' | 'CHAT_AND_VOICE' | 'VOICE_ONLY' | 'CHAT_ONLY' | 'CHAT_VOICE_AND_VIDEO' — Optional. The modality of the web widget.
      - `theme` 'THEME_UNSPECIFIED' | 'LIGHT' | 'DARK' — Optional. The theme of the web widget.
      - `webWidgetTitle` string — Optional. The title of the web widget.
      - `securitySettings` ChannelProfileWebWidgetConfigSecuritySettings — Security settings for the web widget.
        - `enablePublicAccess` boolean — 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` boolean — Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.
        - `enableOriginCheck` boolean — 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.
        - `allowedOrigins` string[] — 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"
    - `disableDtmf` boolean — Optional. Whether to disable DTMF (dual-tone multi-frequency).
    - `instagramConfig` ChannelProfileInstagramConfig — Configuration specific to Instagram deployments.
      - `instagramAccountId` string — Required. The Instagram Account ID.
      - `displayName` string — Output only. The fetched Meta business page name.
      - `thumbnailUrl` string — Output only. The fetched Meta business profile thumbnail URL.
      - `description` string — Output only. The description of the Meta business page or profile.
    - `profileId` string — Optional. The unique identifier of the channel profile.
    - `channelType` 'UNKNOWN' | 'WEB_UI' | 'API' | 'TWILIO' | 'GOOGLE_TELEPHONY_PLATFORM' | 'CONTACT_CENTER_AS_A_SERVICE' | 'CONTACT_CENTER_AS_A_SERVICE_CHAT' | 'FIVE9' | 'CONTACT_CENTER_INTEGRATION' | 'WHATSAPP' | 'INSTAGRAM' — Optional. The type of the channel profile.
  - `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.
  - `experimentConfig` ExperimentConfig — Experiment for the deployment.
    - `versionRelease` ExperimentConfigVersionRelease — Version release for the experiment.
      - `trafficAllocations` ExperimentConfigVersionReleaseTrafficAllocation[] — Optional. Traffic allocations for the version release.
        - `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}`
      - `state` 'STATE_UNSPECIFIED' | 'PENDING' | 'RUNNING' | 'DONE' | 'EXPIRED' — Optional. State of the version release.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/ces.md) · [All operations](https://skmtc.net/google/apis/ces/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/ces/versions/429598666166/schema)
