---
title: "Update deployment settings."
method: PATCH
path: "/api/v1/projects/{projectId}/deployment/{section}"
tags: ["Deployment Settings"]
---

# Update deployment settings.

`PATCH /api/v1/projects/{projectId}/deployment/{section}`

## Request

- Base URL: `https://app.customgpt.ai`
- URL: `https://app.customgpt.ai/api/v1/projects/{projectId}/deployment/{section}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/poll-the-people/apis/customgpt-ai/docs/api/v1/projects/:projectId/deployment/:section/patch.ts> (a function with typed inputs; its response is checked against the schema)

Updates a single deployment section for an agent. The `section` path parameter identifies which section to update (embed, live_chat, ai_assistant, instant_viewer, or sge). Only include the fields you want to change — omitted fields retain their current values. Settings restricted by your plan are silently ignored.

## Path parameters

- `projectId` integer, required
- `section` 'embed' | 'live_chat' | 'ai_assistant' | 'instant_viewer' | 'sge', required

## Request body

- object
  - `width` number: Widget width value. Applies to: `embed`, `live_chat`.
  - `widthUnit` 'px' | '%': Unit for width. Applies to: `embed`, `live_chat`.
  - `height` number: Widget height value. Applies to: `embed`, `live_chat`, `sge`.
  - `heightUnit` 'px' | '%': Unit for height. Applies to: `embed`, `live_chat`, `sge`.
  - `heightType` 'fixed' | 'auto': Whether height is fixed or automatic. Applies to: `embed`, `live_chat`, `sge`.
  - `resetConversation` boolean: Reset the conversation on each new session. Applies to: `embed`, `live_chat`, `ai_assistant`, `instant_viewer`.
  - `defaultButtonText` string: Label text on the default trigger button. Applies to: `ai_assistant`, `instant_viewer`.
  - `defaultButtonColor` string: Hex color for the default trigger button. Accepted formats: `#FFF`, `#FFFFFF`, or `#FFFFFFFF`. Applies to: `ai_assistant`, `instant_viewer`.
  - `isUsingDefaultButton` boolean: Whether to show the default styled button. Applies to: `ai_assistant`, `instant_viewer`.
  - `isUsingCustomElement` boolean: Whether a custom HTML element is used as the trigger. Applies to: `ai_assistant`, `instant_viewer`.
  - `autoPopUp` 0 | 1 | 2 | 3: Live chat auto-popup target. Accepted values: `0` (disabled), `1` (desktop), `2` (mobile), `3` (desktop and mobile). Applies to: `live_chat`.
  - `autoPromptStarterQuestion` boolean: Automatically prompt the first starter question. Applies to: `live_chat`.
  - `doNotPromptOnMobile` boolean: Suppress auto-prompts on mobile devices. Applies to: `live_chat`.
  - `autoStartConversation` boolean: Automatically start a new conversation when the widget opens. Applies to: `live_chat`.
  - `hidePromptFromStarterQuestionList` boolean: Hide the pre-prompt from the starter question list. Applies to: `live_chat`.
  - `position` 'right' | 'left': Screen position of the live chat bubble. Applies to: `live_chat`.
  - `chatbotType` 'window' | 'compact' | 'floating': Visual style of the deployment widget. `live_chat` accepts `window`, `compact`, `floating`; `ai_assistant` and `instant_viewer` accept `window`, `compact`. Applies to: `live_chat`, `ai_assistant`, `instant_viewer`.
  - `isPrePromptEnabled` boolean: Whether the pre-prompt is enabled for this deployment. Applies to: `embed`, `live_chat`, `ai_assistant`, `instant_viewer`.
  - `isCRMIntegrationEnabled` boolean: Whether CRM integration is enabled for this deployment. Applies to: `embed`, `live_chat`, `ai_assistant`, `instant_viewer`, `sge`.
  - `continueConversation` boolean: Persist and continue the previous conversation. Applies to: `live_chat`.
  - `iconSize` 'small' | 'medium' | 'large': Icon size for the live chat bubble trigger. Applies to: `live_chat`.
  - `customSearchParameter` string: URL query parameter name to pass as the search query. Alphanumeric, dash, underscore; max 15 characters. Applies to: `sge`.
  - `isCustomContextEnabled` boolean: Whether custom context injection is enabled. Applies to: `embed`, `live_chat`, `ai_assistant`, `instant_viewer`, `sge`.
  - `isLabelsFilterEnabled` boolean: Filter responses by source labels. Requires a plan with source labeling. Applies to: `embed`, `live_chat`, `ai_assistant`, `instant_viewer`, `sge`.
  - `labelsExclusive` boolean: When label filtering is active, use exclusive AND matching. Applies to: `embed`, `live_chat`, `ai_assistant`, `instant_viewer`, `sge`.
  - `mobileFontSize` boolean: Use mobile-optimized font sizing. Applies to: `embed`, `live_chat`, `ai_assistant`, `instant_viewer`, `sge`.
  - `delayIframeLoadMs` number: Milliseconds to delay iframe load. Applies to: `embed`, `sge`.

## Response `200`

Deployment settings updated — returns the full settings object for all sections

- object
  - `status` 'error' | 'success': The status of the response
  - `data` ProjectDeploymentSettings
    - `embed` object: Configuration for the embeddable iframe widget.
      - `width` number: Widget width value.
      - `widthUnit` 'px' | '%': Unit for width: `px` or `%`.
      - `height` number: Widget height value.
      - `heightUnit` 'px' | '%': Unit for height: `px` or `%`.
      - `heightType` 'fixed' | 'auto': Whether height is `fixed` or `auto`.
      - `resetConversation` boolean: Reset the conversation on each new session.
      - `isPrePromptEnabled` boolean: Whether the pre-prompt is enabled for this deployment.
      - `isCRMIntegrationEnabled` boolean: Whether CRM integration is enabled for this deployment.
      - `isCustomContextEnabled` boolean: Whether custom context injection is enabled.
      - `isLabelsFilterEnabled` boolean: Filter responses by source labels (requires plan with source labeling).
      - `labelsExclusive` boolean: When label filtering is active, use exclusive (AND) matching.
      - `mobileFontSize` boolean: Use mobile-optimised font sizing.
      - `delayIframeLoadMs` number: Milliseconds to delay iframe load.
    - `live_chat` object: Configuration for the live-chat bubble widget.
      - `width` number: Widget width value.
      - `widthUnit` 'px' | '%': Unit for width: `px` or `%`.
      - `height` number: Widget height value.
      - `heightUnit` 'px' | '%': Unit for height: `px` or `%`.
      - `heightType` 'fixed' | 'auto': Whether height is `fixed` or `auto`.
      - `resetConversation` boolean: Reset the conversation on each new session.
      - `isPrePromptEnabled` boolean: Whether the pre-prompt is enabled for this deployment.
      - `isCRMIntegrationEnabled` boolean: Whether CRM integration is enabled for this deployment.
      - `isCustomContextEnabled` boolean: Whether custom context injection is enabled.
      - `isLabelsFilterEnabled` boolean: Filter responses by source labels (requires plan with source labeling).
      - `labelsExclusive` boolean: When label filtering is active, use exclusive (AND) matching.
      - `mobileFontSize` boolean: Use mobile-optimised font sizing.
      - `autoPopUp` integer: Seconds before the chat bubble auto-pops open (0 = disabled).
      - `position` 'left' | 'right': Screen position of the bubble: `left` or `right`.
      - `chatbotType` 'window' | 'compact' | 'floating': Visual style of the chat bubble.
      - `iconSize` 'small' | 'medium' | 'large': Icon size for the chat bubble trigger.
      - `autoPromptStarterQuestion` boolean: Automatically prompt the first starter question.
      - `doNotPromptOnMobile` boolean: Suppress auto-prompts on mobile devices.
      - `autoStartConversation` boolean: Automatically start a new conversation when the widget opens.
      - `hidePromptFromStarterQuestionList` boolean: Hide the pre-prompt from the starter question list.
      - `continueConversation` boolean: Persist and continue the previous conversation.
    - `ai_assistant` object: Configuration for the AI Assistant button widget.
      - `resetConversation` boolean: Reset the conversation on each new session.
      - `isPrePromptEnabled` boolean: Whether the pre-prompt is enabled for this deployment.
      - `isCRMIntegrationEnabled` boolean: Whether CRM integration is enabled for this deployment.
      - `isCustomContextEnabled` boolean: Whether custom context injection is enabled.
      - `isLabelsFilterEnabled` boolean: Filter responses by source labels (requires plan with source labeling).
      - `labelsExclusive` boolean: When label filtering is active, use exclusive (AND) matching.
      - `mobileFontSize` boolean: Use mobile-optimised font sizing.
      - `defaultButtonText` string: Label text on the default trigger button.
      - `defaultButtonColor` string: Hex colour for the default trigger button.
      - `isUsingDefaultButton` boolean: Whether to show the default styled button.
      - `isUsingCustomElement` boolean: Whether a custom HTML element is used as the trigger.
      - `chatbotType` 'window' | 'compact' | 'floating': Visual style of the assistant panel.
    - `instant_viewer` object: Configuration for the Instant Viewer (legacy PDF chat) widget.
      - `resetConversation` boolean: Reset the conversation on each new session.
      - `isPrePromptEnabled` boolean: Whether the pre-prompt is enabled for this deployment.
      - `isCRMIntegrationEnabled` boolean: Whether CRM integration is enabled for this deployment.
      - `isCustomContextEnabled` boolean: Whether custom context injection is enabled.
      - `isLabelsFilterEnabled` boolean: Filter responses by source labels (requires plan with source labeling).
      - `labelsExclusive` boolean: When label filtering is active, use exclusive (AND) matching.
      - `mobileFontSize` boolean: Use mobile-optimised font sizing.
      - `defaultButtonText` string: Label text on the trigger button.
      - `defaultButtonColor` string: Hex colour for the trigger button.
      - `isUsingDefaultButton` boolean: Whether to show the default styled button.
      - `isUsingCustomElement` boolean: Whether a custom HTML element is used as the trigger.
      - `chatbotType` 'window' | 'compact' | 'floating': Visual style of the viewer panel.
    - `sge` object: Configuration for the Search Generative Experience (SGE) widget.
      - `resetConversation` boolean: Reset the conversation on each new session.
      - `isPrePromptEnabled` boolean: Whether the pre-prompt is enabled for this deployment.
      - `isCRMIntegrationEnabled` boolean: Whether CRM integration is enabled for this deployment.
      - `isCustomContextEnabled` boolean: Whether custom context injection is enabled.
      - `isLabelsFilterEnabled` boolean: Filter responses by source labels (requires plan with source labeling).
      - `labelsExclusive` boolean: When label filtering is active, use exclusive (AND) matching.
      - `mobileFontSize` boolean: Use mobile-optimised font sizing.
      - `height` number: Widget height in pixels.
      - `heightUnit` 'px' | '%': Unit for height.
      - `heightType` 'fixed' | 'auto': Whether height is fixed or auto.
      - `customSearchParameter` string: URL query parameter name to pass as the search query (alphanumeric, dash, underscore; max 15 chars).
      - `delayIframeLoadMs` number: Milliseconds to delay iframe load.

## Other responses

- `400`: Bad Argument
- `401`: API Token is either missing or invalid
- `404`: Agent not found
- `422`: Bad Argument
- `500`: Internal Server Error

## Changes

- **2026-11-03** `77aab4354382`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/poll-the-people/apis/customgpt-ai/changes/api/v1/projects/:projectId/deployment/:section/patch.md)

---

[API](https://skmtc.dev/poll-the-people/apis/customgpt-ai.md) - [All operations](https://skmtc.dev/poll-the-people/apis/customgpt-ai/llms.txt) - [OpenAPI document](https://skmtc.dev/poll-the-people/apis/customgpt-ai/revisions/77aab4354382?raw)
