Get an article
Fetch one published, public article by either its UUID or its slug.
GET /api/v1/public/articles/{ref}Returns a single help-center article.
Authentication
Publishable key: Authorization: Bearer pk_….
Path parameters
| Parameter | Type | Description |
|---|---|---|
ref | string | Either the article's UUID or its slug. |
ref accepts a UUID or a slug
The server tries to parse ref as a UUID; if that fails, it falls back to a slug
lookup. You don't choose between two endpoints or pass a flag — one path handles both.
This is what lets you build readable help-center URLs. If your site serves
/help/how-to-reset-your-password, you can pass that last segment straight through as
ref without keeping a slug-to-UUID map of your own.
Response
200 OK. data is a single article, in the same shape
List articles returns.
{
"success": true,
"request_id": "6d7979ce52075b24979cd5b415319339",
"data": {
"id": "019f21a3-b425-7ce6-a708-192a3b4c5d6e",
"category_id": "019f2192-a314-7bd5-96f7-08192a3b4c5d",
"title": "How to request a refund",
"slug": "how-to-request-a-refund",
"body": "You have 30 days from delivery to request a refund.",
"published_at": "2026-07-02T10:00:00.000000Z",
"updated_at": "2026-07-02T10:00:00.000000Z"
}
}Errors
| Status | error.code | When |
|---|---|---|
401 | UNAUTHORIZED | The key is missing, unknown, revoked, or is an sk_ key. |
404 | NOT_FOUND | article not found. |
429 | RATE_LIMITED | Your organization's publishable-key budget is exhausted. |
Three different situations all collapse into the same 404: the article doesn't exist,
the article exists but isn't published, and the article exists and is published but is
internal. You can't tell them apart from the response, and that's intended — the API
won't confirm the existence of an article a customer isn't allowed to read.
Examples
# By slug
curl "{BASE_URL}/api/v1/public/articles/how-to-request-a-refund" \
-H "Authorization: Bearer pk_example_k3Yb9wQ2rTfA8sLdN1vH"
# By UUID — same endpoint, same response
curl "{BASE_URL}/api/v1/public/articles/019f21a3-b425-7ce6-a708-192a3b4c5d6e" \
-H "Authorization: Bearer pk_example_k3Yb9wQ2rTfA8sLdN1vH"