Articles

Search and create knowledge base articles programmatically. Articles can also be managed through the dashboard and are published to your public knowledge base portal.

GET/api/v1/articles/search

Search published knowledge base articles by keyword and optionally filter by category.

const results = await helmdesk.articles.search({
  q: 'reset password',
  category: 'getting-started',
})
POST/api/v1/articles

Create a knowledge-base article. The slug is auto-generated from the title when omitted. Defaults to a draft; pass status 'published' to make it live (published articles are indexed for search). Requires the articles:write scope.

const article = await helmdesk.articles.create({
  title: 'How to reset your password',
  body: '1. Open Settings...\n2. Click "Reset password"...',
  status: 'published',
})
GET/api/v1/articles/:id

Get a single article by id, including its full markdown body. Requires the articles:read scope.

const article = await helmdesk.articles.get('article-uuid')
// article.body -> full markdown
PATCH/api/v1/articles/:id

Update an article's content, category, or status. Publishing for the first time stamps publishedAt and indexes the article for search. Changing the slug to one that already exists returns a 409 conflict. Requires the articles:write scope.

await helmdesk.articles.update('article-uuid', {
  body: 'Revised steps...',
  status: 'published',
})
GET/api/v1/article-categories

List the project's article categories — the valid categoryId values for create and update. Requires the articles:read scope.

const { categories } = await helmdesk.articles.categories()

Public knowledge base

Published articles are automatically available at your project's public portal: helmdesk.dev/p/your-slug/articles. No API key is required to view published articles through the portal.