# Update Support Widget Settings

PATCH /api/v2/projects/{projectId}/support/settings

Updates Support widget settings in one save and returns the complete settings payload. Omitted fields, including nested fields, stay unchanged. Trusted domains replace the current list; entries must be bare hostnames. A support mailbox domain must belong to this project and be ready to send and receive. Null mailbox.supportDomain clears it. Set any launcher field to null to remove its saved override and restore the default; omitted launcher fields stay unchanged. Does not change credentials or notification recipients.

## Request

- projectId: string, path, required — ID of the project whose Support settings to update.
- settings: object, required — Partial settings to merge. Omitted fields stay unchanged.
  - emailAgentEnabled: boolean
  - emailBranding: object
    - emailAvatarUrl: string
    - emailFooter: string
    - emailFromName: string
    - emailHeaderName: string
  - enabled: boolean
  - launcher: object — Partial launcher settings. Omit a field to preserve it; set it to null to remove its saved override and restore the default. For example, { customLauncherSelector: null, launcherSize: null } removes the custom selector and restores automatic sizing.
    - alignment: left | right
    - customLauncherSelector: string
    - hideDefaultLauncher: boolean
    - horizontalPadding: integer
    - launcherSize: compact | default | large
    - verticalPadding: integer
    - zIndex: integer
  - mailbox: object
    - supportDomain: string
    - supportLocalPart: string
  - officeHours: object
    - officeHoursEnabled: boolean
    - officeHoursSchedule: object
    - officeHoursTimezone: string
    - replyTime: string
  - trustedDomains: string[]
  - widgetAgentEnabled: boolean
  - widgetBranding: object
    - agentLabel: string
    - avatarUrl: string
    - greeting: string
    - suggestedQuestions: string[]
    - teamDescription: string
    - workspaceName: string

## Response

- 200: Successful response
  - emailAgentEnabled: boolean, required, default true
  - emailBranding: object, required
    - emailAvatarUrl: string
    - emailFooter: string
    - emailFromName: string
    - emailHeaderName: string
  - enabled: boolean, required
  - launcher: object, required
    - alignment: left | right
    - customLauncherSelector: string
    - hideDefaultLauncher: boolean
    - horizontalPadding: integer
    - launcherSize: compact | default | large
    - verticalPadding: integer
    - zIndex: integer
  - mailbox: object, required
    - supportDomain: string, required
    - supportLocalPart: string, required
  - officeHours: object, required
    - officeHoursEnabled: boolean, required, default false
    - officeHoursSchedule: object
    - officeHoursTimezone: string
    - replyTime: string
  - trustedDomains: string[], required
  - widgetAgentEnabled: boolean, required, default true
  - widgetBranding: object, required
    - agentLabel: string
    - avatarUrl: string
    - greeting: string
    - suggestedQuestions: string[]
    - teamDescription: string
    - workspaceName: string
- 400: Invalid input data
- 401: Authorization not provided
- 403: Insufficient access
- 404: Not found
- 500: Internal server error
