# Build on HelpCenter.io

_Category: Getting started_

HelpCenter.io gives your code several ways into a help center: a REST API, webhooks, an MCP server for AI agents, machine-readable pages for AI assistants and crawlers, a widget you drive from JavaScript, embeds, and single sign-on for readers. This page shows what each one is for, how it authenticates and which plans include it, so you pick the right one before you write any code.

## The surfaces

| Surface | What it's for | How it authenticates | Plans |
| --- | --- | --- | --- |
| **REST API**  <br>`https://api.helpcenter.io/v1` | Read and write articles, categories, images, staged changes, change sets, comments, team notes, interface translations, the help center's design, analytics and exports from your own code. | An API key in the `apikey` header, bound to one help center. Or an OAuth 2.1 access token in `Authorization: Bearer`, for apps that act for a HelpCenter.io user. | All plans. Staged changes and change sets are part of Catalyst, in early preview. |
| **Webhooks** | Get a POST request at your URL when articles, categories or the help center change: nine events, such as `article.published` and `category.deleted`. | You register the URL through the REST API, with a Read & write key or an OAuth token that has the `webhooks.manage` scope. Each delivery is signed with your secret in `X-HCio-Signature`. | All plans. |
| **MCP server**  <br>`https://mcp.helpcenter.io` | Let Claude, ChatGPT or your own agent search, write and organize a help center: articles, categories, staged changes, comments, team notes and analytics, as MCP tools. | OAuth 2.1: the person signs in and picks the help centers to share. Headless agents send an API key as `Authorization: Bearer`. | Growth and Catalyst, including their free trials. |
| **Public MCP server**  <br>`https://<your help center>/mcp` | Let your readers' AI assistants search and read your published articles, with the tools `search`, `fetch` and `list_categories`. | None. It is anonymous and read-only. | All plans, on public help centers. |
| **llms.txt, ai.txt and Markdown pages** | Give AI tools and crawlers an index of your articles at `/llms.txt`, and your help center's pages as Markdown when they send `Accept: text/markdown`. | None. They show what a visitor without an account can read. | All plans. |
| **Widget and its JavaScript API** | Put your help center in a corner of your website or app, and open it on an article or category from your own buttons and links. | None on a public help center. On a private one, readers sign in with a JWT you sign on your server. | All plans. Signing readers in needs single sign-on (Catalyst). |
| **Embedding** | Show your whole help center inside your app in a frame, and optionally keep it from being browsed as a normal website. | The page must be on your help center's **Embedding origins** list. A JWT signs readers in to a private help center when the help center is on your own site, for example `help.example.com` inside `app.example.com`. | See [pricing](https://helpcenter.io/pricing). |
| **JWT single sign-on** | Sign readers in to a private help center with your own login, so they never see a second password. | A JWT that your server signs with the shared secret from your settings (HS256). | Catalyst. |

## Which one fits your job

| You want to | Use |
| --- | --- |
| Publish articles from your docs repository or another system | The REST API with an API key. See [Sync articles from a Git repository](https://developers.helpcenter.io/content/sync-articles-from-git). |
| Move an existing knowledge base into HelpCenter.io | The REST API's bulk import. See [Import articles in bulk](https://developers.helpcenter.io/content/import-articles-in-bulk). |
| Keep a copy of every article and category | The REST API's export. See [Back up your help center](https://developers.helpcenter.io/content/back-up-your-help-center). |
| Rebuild a site, clear a cache or post to chat when content changes | Webhooks. See [Receive and verify webhooks](https://developers.helpcenter.io/content/receive-and-verify-webhooks). |
| Build an app that other HelpCenter.io customers connect to | The REST API with OAuth 2.1. See [OAuth 2.1 for apps and AI clients](https://developers.helpcenter.io/content/oauth). |
| Have an AI assistant draft, edit and organize articles | The MCP server. See [Connect an AI assistant to your help center](https://developers.helpcenter.io/content/connect-an-ai-assistant-to-your-help-center). |
| Let your customers' AI assistants answer from your published articles | The public MCP server and `/llms.txt`. See [The public MCP server of a help center](https://developers.helpcenter.io/content/public-mcp-server). |
| Offer help inside your product | The widget. See [Widget installation and options](https://developers.helpcenter.io/content/widget-options). |
| Show the whole help center inside your app | Embedding. See [Embed your help center in your app](https://developers.helpcenter.io/content/embed-your-help-center). |
| Let readers of a private help center use their account with you | JWT single sign-on. See [How JWT single sign-on works](https://developers.helpcenter.io/content/how-jwt-sso-works). |

An API key belongs to one help center. An OAuth token belongs to a person, and reaches only the help centers that person chose to share with your app. If your software works on other people's help centers, use OAuth.

## What the REST API doesn't do

- **No per-visitor analytics.** The analytics endpoints report figures for the help center, its articles and its search queries, never for a single visitor or session.
- **Search is keyword search.** `GET /v1/articles?search=` matches words in titles and content, and returns only published articles that anyone can read, at most 15 of them. It doesn't use the AI search your readers may get.
- **Deleting an article moves it to the Trash.** You can restore it from the dashboard. The API has no permanent delete for articles.
- **Settings stay in the dashboard.** Help center settings such as visibility, languages and domains, your team, API keys and single sign-on are managed in the dashboard, not over the API. The design can be changed over the API: see [Design API](https://developers.helpcenter.io/content/design-api).

## Where to start

- **Make your first request:** [Quickstart: your first API request](https://developers.helpcenter.io/content/quickstart-your-first-request) takes you from a new key to a published article.
- **Learn the rules every request follows:** [Requests and responses](https://developers.helpcenter.io/content/requests-responses-and-conventions), [Pagination](https://developers.helpcenter.io/content/pagination), [Rate limits](https://developers.helpcenter.io/content/rate-limits) and [Errors](https://developers.helpcenter.io/content/errors).
- **Authenticate:** [API keys](https://developers.helpcenter.io/content/api-keys) for your own help center, [OAuth 2.1 for apps and AI clients](https://developers.helpcenter.io/content/oauth) for other people's.
- **Look up an endpoint:** the REST API reference has a page for each resource, such as [Articles](https://developers.helpcenter.io/content/articles-api).
- **Connect AI agents:** [The HelpCenter.io MCP server](https://developers.helpcenter.io/content/the-mcp-connector-for-ai-agents).
- **Add help to your product:** [Widget installation and options](https://developers.helpcenter.io/content/widget-options).
- **Sign readers in:** [How JWT single sign-on works](https://developers.helpcenter.io/content/how-jwt-sso-works).
- **Follow a recipe:** [Sync articles from a Git repository](https://developers.helpcenter.io/content/sync-articles-from-git), [Back up your help center](https://developers.helpcenter.io/content/back-up-your-help-center) and more in Guides and recipes.

## Related

- [Quickstart: your first API request](https://developers.helpcenter.io/content/quickstart-your-first-request)
- [API keys](https://developers.helpcenter.io/content/api-keys)
- [The HelpCenter.io MCP server](https://developers.helpcenter.io/content/the-mcp-connector-for-ai-agents)
- [Widget installation and options](https://developers.helpcenter.io/content/widget-options)
- [How JWT single sign-on works](https://developers.helpcenter.io/content/how-jwt-sso-works)
