asssistive

List categories

Every help-center category that holds at least one published, public article.

GET /api/v1/public/categories

Returns the organization's help-center categories, for building a category nav.

Authentication

Publishable key: Authorization: Bearer pk_….

Query parameters

None. This endpoint is not paginated and returns no meta — you get the whole list in one call.

Response

200 OK. data is an array of categories.

FieldTypeDescription
iduuidThe category ID. Pass it as category_id to List articles.
namestringThe display name.
slugstringURL-safe name, for your own routes.
positionintegerThe display order set in the dashboard.
{
  "success": true,
  "request_id": "6d7979ce52075b24979cd5b415319339",
  "data": [
    { "id": "019f2192-a314-7bd5-96f7-08192a3b4c5d", "name": "Billing", "slug": "billing", "position": 0 },
    { "id": "019f2193-b425-7ce6-a708-192a3b4c5d6e", "name": "Shipping", "slug": "shipping", "position": 1 }
  ]
}

Sort by position when you render. It's the order the team arranged the categories in, and it's the only field that carries their intent — name and id order are meaningless to a reader.

Empty categories are never returned

Only categories holding at least one published, public article appear. A category that exists in the dashboard but whose articles are all drafts or all internal is absent from this response entirely.

This is usually what you want — it means the help-center nav you build from this list can never contain a link to an empty page. But it does mean the categories here are a subset of the categories your team sees, so don't treat the two as the same list.

Errors

Statuserror.codeWhen
401UNAUTHORIZEDThe key is missing, unknown, revoked, or is an sk_ key.
429RATE_LIMITEDYour organization's publishable-key budget is exhausted.

Examples

curl "{BASE_URL}/api/v1/public/categories" \
  -H "Authorization: Bearer pk_example_k3Yb9wQ2rTfA8sLdN1vH"

On this page