Skip to main content
GET
Get an article

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"

articleId
integer
required

The id returned when the article was created or listed. Numeric — never the article slug.

Example:

118

Response

The article.

A help center article, drafts included.

id
integer
required

What the single-article endpoints take as articleId.

Example:

118

title
string
required
Example:

"How to reset your password"

slug
string
required

URL-safe handle generated from the title; forms the public URL.

Example:

"how-to-reset-your-password"

content
string
required

The body, in Markdown. Images are ordinary Markdown image links — upload the file and embed the returned file_url.

status
enum<string>
required

Only published articles appear on the public help center. New articles start as draft unless created with an explicit status.

Available options:
draft,
published,
archived
Example:

"draft"

locale
string
required

Inherited at creation from the category (or the portal default when there is none). Not directly writable — move the article to a category of the right locale instead.

Example:

"en"

author_id
integer | null
required

Always the authenticated user behind the token. There is no way to write an article as someone else. Null when the author was deleted: the account keeps the article and drops the reference, so an orphan article still reads normally with no author to show.

Example:

7

portal_slug
string
required
Example:

"acme-help"

public_url
string
required

Where the article is served once published — on the portal's custom domain when one is configured, on the default help center host otherwise.

Example:

"https://help.acme.com/hc/acme-help/articles/how-to-reset-your-password"

created_at
string<date-time>
required
Example:

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

updated_at
string<date-time>
required
Example:

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

description
string | null

Short summary shown in listings and search results.

category_id
integer | null

Category the article is filed under. Decides where it renders — and its locale.

Example:

12

associated_article_id
integer | null

Root article linking the translations of the same article across locales. When writing, any article of the family is accepted — the server normalizes it to the root.

Example:

null