Skip to main content
PATCH
Update a portal

Authorizations

Authorization
string
header
required

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

cloudchat-instance
integer
required

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.

Example:

1

Path Parameters

accountId
integer
required

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.

Example:

1

portalSlug
string
required

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.

Example:

"acme-help"

Body

application/json

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.

portal
object
required

Response

The portal as stored.

A help center site of the account.

id
integer
required

Numeric id, informational only — every help center endpoint addresses the portal by slug.

Example:

3

slug
string
required

What goes in the portalSlug path segment of the other help center endpoints.

Example:

"acme-help"

name
string
required

Display name of the help center.

Example:

"Acme Help Center"

default_locale
string
required

Locale used when nothing more specific applies — including as the translation target for an article without a category.

Example:

"en"

allowed_locales
string[]
required

Locales the portal can hold content in. A category (and through it, an article) must live in one of these.

Example:
archived
boolean
required

An archived portal is no longer served to visitors.

Example:

false

created_at
string<date-time>
required
Example:

"2026-05-02T11:04:17.000Z"

updated_at
string<date-time>
required
Example:

"2026-08-10T14:32:05.123Z"