Update a portal
Change a portal’s name, the locales it may hold content in, or its logo. Send only the fields you are changing; a body with none of them is a 400.
This is where a portal becomes usable in more than one language: allowed_locales is what a category’s locale is checked against. Note that it replaces the stored list instead of adding to it — the field description spells out both refusals you can expect.
Requires being an administrator of the account.
Authorizations
The id_token from POST /auth/v1/signin, sent as Authorization: Bearer <id_token>. Not the access_token — that one does not carry the identity Cloud Chat authorizes on.
Headers
Your Cloud Chat instance ID — an integer, fixed for your company, told at onboarding. The API overview explains how instances work, how to find yours, and the errors a wrong or missing value produces.
1
Path Parameters
Your Cloud Chat account. It has to be an account your token grants membership on, and it has to live on the instance in the cloudchat-instance header — the two travel together. Account numbers are only unique within an instance, so the same number is a different company on another instance. Usually a mismatched pair fails closed with a 401, because your user does not exist on the other instance — but if your identity happens to exist on both, the call succeeds against the other company's data, silently. Read it and you are looking at the wrong help center; write it and you have stored into the wrong account. Send the two values that were given to you together, and never try a number to see what answers.
1
The portal's slug — the URL-safe handle you see in its public address (/hc/<slug>/...), not a numeric id. List portals returns every slug on the account. Note the asymmetry: portals are addressed by slug, articles by numeric id.
"acme-help"
Body
The fields to change go under a portal wrapper; send only the ones you are changing, and at least one of them. slug is absent on purpose: it forms the public URL of every published article, so it is immutable. Archiving the portal, binding it to a web widget and setting a custom domain are not exposed here either — those stay in the dashboard.
Response
The portal as stored.
A help center site of the account.
Numeric id, informational only — every help center endpoint addresses the portal by slug.
3
What goes in the portalSlug path segment of the other help center endpoints.
"acme-help"
Display name of the help center.
"Acme Help Center"
Locale used when nothing more specific applies — including as the translation target for an article without a category.
"en"
Locales the portal can hold content in. A category (and through it, an article) must live in one of these.
An archived portal is no longer served to visitors.
false
"2026-05-02T11:04:17.000Z"
"2026-08-10T14:32:05.123Z"