Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.helpgenie.ai/llms.txt

Use this file to discover all available pages before exploring further.

The Learn Hub provides curated articles to help users get the most out of HelpGenie. Progress is tracked per user — viewing an article automatically updates last_viewed_at, and users can explicitly mark articles complete or incomplete. Only published articles are returned.

Actions

all / list

Returns a paginated list of published articles with the current user’s progress joined. Parameters
FieldTypeRequiredDescription
limitnumberNoMax results, default 100, max 500
offsetnumberNoPagination offset, default 0
filters.startHerebooleanNoOnly return “Start Here” articles
filters.categorystringNoFilter by category slug
filters.searchTermstringNoCase-insensitive title search
startHerebooleanNoShorthand for filters.startHere
Response
{
  "articles": [
    {
      "id": "article-uuid",
      "title": "Getting started with your first Genie",
      "slug": "getting-started-first-genie",
      "category": "setup",
      "is_start_here": true,
      "order_index": 1,
      "completed_at": null,
      "last_viewed_at": "2024-01-05T10:00:00Z"
    }
  ],
  "count": 24,
  "limit": 100,
  "offset": 0
}

get

Returns a single published article by slug (preferred) or id. Automatically records last_viewed_at for the current user as a side effect. Parameters
FieldTypeRequiredDescription
slugstringConditionalArticle slug — preferred lookup key
idstringConditionalArticle UUID — used if slug is not provided
At least one of slug or id is required. Response
{
  "article": {
    "id": "article-uuid",
    "title": "Getting started with your first Genie",
    "slug": "getting-started-first-genie",
    "category": "setup",
    "is_start_here": true,
    "order_index": 1,
    "body_markdown": "## Introduction\n\nWelcome to HelpGenie...",
    "completed_at": null,
    "last_viewed_at": "2024-01-07T10:00:00Z"
  }
}

progress

Returns all progress records for the current user — one entry per article they have viewed or completed. Parameters — none Response
{
  "progress": [
    {
      "article_id": "article-uuid",
      "completed_at": "2024-01-06T09:00:00Z",
      "last_viewed_at": "2024-01-06T09:00:00Z"
    }
  ]
}

mark-complete

Marks an article as completed for the current user. Sets both completed_at and last_viewed_at to now. Parameters
FieldTypeRequiredDescription
idstringConditionalArticle UUID (request ID)
articleIdstringConditionalArticle UUID (data field) — used if id not provided
Response
{
  "success": true,
  "article_id": "article-uuid",
  "completed_at": "2024-01-07T10:00:00Z"
}

mark-incomplete

Clears the completed_at timestamp for an article, marking it as not completed. Parameters
FieldTypeRequiredDescription
idstringConditionalArticle UUID (request ID)
articleIdstringConditionalArticle UUID (data field)
Response
{
  "success": true,
  "article_id": "article-uuid"
}

Error codes

CodeMeaning
VALIDATION_ERRORMissing article ID or slug
NOT_FOUNDArticle not found or not published
INTERNAL_ERRORUnexpected server error