Skip to main content
A knowledge base is a container of articles with its own slug, branding, and publish state. Every article belongs to a knowledge base. Categories nest beneath a KB to give it structure.
Knowledge bases are read-only through the v1 API. Create and configure them in the dashboard; this surface lets you list them, resolve knowledge_base_id references on articles, and check which ones are publicly published.

Where knowledge bases live

Public KB site

A published KB serves visitors at https://kb.awardee.dev/{public_slug}. Set is_published: true to expose it.

Chatbot retrieval

Indexed articles in a KB feed the chatbots configured to use them. The KB is the unit of attachment.

Endpoints

MethodPathPurpose
GET/knowledge-basesList every knowledge base in the org
GET/knowledge-bases/{id}Fetch one by id
Both endpoints require the knowledge_bases.view scope.

Common workflows

List your knowledge bases

curl https://api.awardee.dev/v1/knowledge-bases \
  -H "Authorization: Bearer aw_live_4f8a3c7e2d1b9a5c6f8e3d2c1b4a9f7e"

Filter to published KBs

Pass is_published=true to narrow to KBs that are live on the public surface. Useful when building a directory of public sites.
curl "https://api.awardee.dev/v1/knowledge-bases?is_published=true" \
  -H "Authorization: Bearer aw_live_…"

Resolve a knowledge_base_id from an article

const article = await fetch(`https://api.awardee.dev/v1/articles/${articleId}`, {
  headers: { Authorization: `Bearer ${API_KEY}` },
}).then((r) => r.json())

const kb = await fetch(
  `https://api.awardee.dev/v1/knowledge-bases/${article.knowledge_base_id}`,
  { headers: { Authorization: `Bearer ${API_KEY}` } },
).then((r) => r.json())