Get articles

Returns one public article by slug, with its body.

GET /v1/help/articles/{slug}

Addresshttps://api.hanzo.ai/v1/help/articles/{slug}
MethodGET
Operationget_help_articles_by_slug
AuthAuthorization: Bearer $HANZO_API_KEY

Returns one public article by slug, with its body. A missing, Draft, or internal (non-public) article is 404 — fail-closed, so this route is no existence oracle for anything beyond "published and public".

Request

1 field.

FieldInTypeRequiredDescription
slugpathstringyesSlug is the article's public identifier, from the path.

Response

StatusBodyMeaning
200help.helpArticleok
defaultproblem-detailsrefused

200 body — 6 fields.

FieldInTypeAlwaysDescription
bodybodystring—Body is the article's rich-text content as the author saved it.
categorybodystring—Category is the name of the knowledge-base section the article sits in, or empty when it is filed under none.
excerptbodystring—Excerpt is the short summary the author wrote for listings, or empty.
slugbodystring—Slug is the article's stable public identifier — the path segment it was addressed by.
titlebodystring—Title is the article's headline.
updatedAtbodyinteger (int64)—UpdatedAt is the unix second the article was last written.

Failure carries the platform error shape — see Errors.

Examples

hanzo help articles get <slug>
import { Configuration, HelpApi } from 'hanzoai';

const api = new HelpApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getHelpArticlesBySlug({ slug: 'slug' });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import HelpApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = HelpApi(client).get_help_articles_by_slug(slug='slug')
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.HelpAPI.GetHelpArticlesBySlug(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, help_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = help_api::get_help_articles_by_slug(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.HelpApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new HelpApi(client).getHelpArticlesBySlug();
curl https://api.hanzo.ai/v1/help/articles/<slug> \
  -H "Authorization: Bearer $HANZO_API_KEY"

MCP reaches help through the help tool, which names its 4 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "list_help_articles"
         }
       }
     }'

Help API · All Hanzo APIs · Interactive reference

Was this page useful?