Returns a one-element array holding the settings object. agent_id is accepted but currently
ignored: an unknown id returns the same row as no filter.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Request parameters
| Parameter | Type | Required | In | Description |
|---|---|---|---|---|
Authorization | string | Yes | Header | Partner app token, sent raw. Bearer <token> is also accepted. |
appId | string (uuid) | Yes | Path | Partner Portal app id. Stands in for Meta's entity_id. |
agent_id | string | No | Query | Agent id from onboarding. Accepted but currently not applied as a filter. Meta pfbid… id. |
Example request
curl --location --request GET 'https://partner.gupshup.io/partner/app/<appId>/bizai/agent_config/settings' \
--header 'Authorization: <PARTNER_APP_TOKEN>'Response parameters — 200
200The body is a JSON array; each element has the fields below.
| Parameter | Type | Description |
|---|---|---|
[].agent_id | string | Meta pfbid… id. |
[].channel | string | One of: email, instagram, line, messenger, sms, tiktok, unknown, webchat, whatsapp. |
[].rollout | object | Whether the agent is live for consumers. |
[].rollout.enabled | boolean | Turns the agent on for consumers. Requires a payment method. |
[].handoff | object | Hand-off to a human agent. |
[].handoff.enabled | boolean | Whether the agent may hand off to a human. |
[].handoff.message | string | Message sent on hand-off. Used when message_selection is CUSTOM. |
[].handoff.message_selection | string | One of: DEFAULT, AGENT, CUSTOM. |
[].followup | object | Follow-up nudge when the consumer goes quiet. |
[].followup.enabled | boolean | Whether follow-ups are sent. |
[].followup.followup_interval_in_seconds | integer | One of: 0, 300, 900, 1800, 3600, 7200, 28800, 86400. |
[].followup.message | string | Write-only; not returned by GET. |
[].ai_audience | string | Who the agent answers. ALLOWLISTED_ONLY limits it to the allowlist and needs no payment method. One of: ALLOWLISTED_ONLY, EVERYONE. |
[].never_say_phrases | array of string | Phrases the agent must never use. Replaces the whole list; [] clears it. |
Example response — 200 OK
200 OK[
{
"agent_id": "pfbid02At1HHPSCaMqS76ycbTJdwWym65EV28U3Z7cRvmF1PKwisfF7seUzVVAYup3uWsDW8YpHTBLaGaxoPg3vXFmLQ7uBdZ7ntTrMtHMsZl",
"channel": "whatsapp",
"rollout": {
"enabled": false
},
"never_say_phrases": [],
"handoff": {
"enabled": true,
"message": "",
"message_selection": "DEFAULT"
},
"followup": {
"enabled": true,
"followup_interval_in_seconds": 3600
},
"ai_audience": "EVERYONE"
}
]Error responses
400 Bad Request — The app is not live, or WASS does not consider it live.
{
"message": "App is not live.",
"status": "error"
}400 Bad Request — The app has no phone number attached. Checked before the live check.
{
"message": "Phone id not found for the given App",
"status": "error"
}401 Unauthorized — Authorization is missing or invalid, belongs to another app, or appId is unknown or not a UUID.
{
"status": "error",
"message": "Unauthorised access to the resource. Please review request parameters and headers and retry"
}405 Method Not Allowed — Any method other than GET, POST, PUT or DELETE, e.g. PATCH.
{
"status": "error",
"message": "Request method 'PATCH' is not supported"
}429 Too Many Requests — More than 30 /bizai/** requests in 60 seconds for this app. The 31st is rejected.
{
"status": "error",
"message": "Too Many Requests"
} 429Per-app rate limit exceeded. Retry after the 60-second window.
