---
title: "Update agent settings"
method: PUT
path: "/partner/app/{appId}/bizai/agent_config/settings"
tags: ["Onboard"]
---

# Update agent settings

`PUT /partner/app/{appId}/bizai/agent_config/settings`

## Request

- Base URL: `https://partner.gupshup.io`
- URL: `https://partner.gupshup.io/partner/app/{appId}/bizai/agent_config/settings`
- Auth: API key in header `Authorization`

Partial update. An empty body is a no-op that returns the current settings. `never_say_phrases`
replaces the whole list; send `[]` to clear it.
Setting `rollout.enabled` to `true` fails with `400 Cannot enable Meta Business Agent` until the
business has a payment method in the Billing Hub, unless `ai_audience` is `ALLOWLISTED_ONLY`.

## Query parameters

- `agent_id` string: Meta resource id.

## Request body

- AgentSettingsUpdate: Partial update; send only the blocks being changed.
  - `rollout` Rollout
    - `enabled` boolean: Turns the agent on for consumers. Requires a payment method.
  - `handoff` Handoff
    - `enabled` boolean
    - `message` string
    - `message_selection` 'DEFAULT' | 'AGENT' | 'CUSTOM'
  - `followup` Followup
    - `enabled` boolean
    - `followup_interval_in_seconds` 0 | 300 | 900 | 1800 | 3600 | 7200 | 28800 | 86400
    - `message` string: Write-only; not returned by `GET`.
  - `ai_audience` 'ALLOWLISTED_ONLY' | 'EVERYONE': Who the agent answers. `ALLOWLISTED_ONLY` limits it to the allowlist and needs no payment method.
  - `never_say_phrases` string[]

## Response `200`

Settings applied. Returns a single settings object, not an array.

- AgentSettings
  - `agent_id` string: Meta resource id.
  - `channel` 'email' | 'instagram' | 'line' | 'messenger' | 'sms' | 'tiktok' | 'unknown' | 'webchat' | 'whatsapp'
  - `rollout` Rollout
    - `enabled` boolean: Turns the agent on for consumers. Requires a payment method.
  - `handoff` Handoff
    - `enabled` boolean
    - `message` string
    - `message_selection` 'DEFAULT' | 'AGENT' | 'CUSTOM'
  - `followup` Followup
    - `enabled` boolean
    - `followup_interval_in_seconds` 0 | 300 | 900 | 1800 | 3600 | 7200 | 28800 | 86400
    - `message` string: Write-only; not returned by `GET`.
  - `ai_audience` 'ALLOWLISTED_ONLY' | 'EVERYONE': Who the agent answers. `ALLOWLISTED_ONLY` limits it to the allowlist and needs no payment method.
  - `never_say_phrases` string[]

## Other responses

- `400`: Schema violation or an environment precondition.
- `401`: Missing, invalid, or foreign-app token. Raised by Partner Portal before any forwarding.
- `429`: Per-app rate limit exceeded. Retry after the 60-second window.

---

[API](https://skmtc.dev/gupshup/apis/partner-portal-meta-business-agent-bizai-api.md) - [All operations](https://skmtc.dev/gupshup/apis/partner-portal-meta-business-agent-bizai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gupshup/apis/partner-portal-meta-business-agent-bizai-api/revisions/4c52185f2153?raw)
