Skip to content

Articles are the building blocks of your Knowledge Base. Create, list, update, and delete the content your AI Agent uses to answer questions.

Articles are the building blocks of your AI Agent’s Knowledge Base. Each article represents a piece of knowledge — a help page, FAQ entry, product description, or any content your AI should know about.

There are three article types: Articles (full documents with title and body), Paragraphs (short standalone text entries), and URL articles (automatically created when importing web content). You can create articles manually via the API, import them from websites using Import External Content, upload files via File Upload, or sync from Intercom.

After creating or updating articles, remember to retrain the Knowledge Base for changes to take effect.

Scope: write_all

POST https://app.quickchat.ai/v1/api/knowledge_base/articles/

Request Body

ParameterDescription
content
string, required
Article content
type
string
"Article" (default) or "Paragraph"
title
string
Article title
Terminal window
curl -X POST https://app.quickchat.ai/v1/api/knowledge_base/articles/ \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"content": "Our return policy allows returns within 30 days.",
"title": "Return Policy"
}'

Response 201 Created

{
"id": 1234,
"article_id": "abc-123",
"type": "Article",
"title": "Return Policy",
"description": "",
"content": "Our return policy allows returns within 30 days.",
"state": "draft",
"deploy_state": "draft",
"version": null,
"max_available_version": null,
"url": null,
"tags": [],
"created_timestamp": "2026-01-15",
"last_modified_timestamp": "2026-01-15",
"downloaded_timestamp": "2026-01-15",
"last_updated_timestamp": "2026-01-15",
"last_updated_from_external_source_timestamp": null
}
FieldDescription
id
integer
Article numeric ID. This is the canonical identifier used in all URL paths
article_id
string
Legacy string identifier. May be empty — use id instead
type
string
"Article", "Paragraph", or "URL"
title
string
Article title
description
string
Article description
content
string
Article content
deploy_state
string
"draft" or "published" — controls article visibility
state
string
Internal processing status (see note below)
version
integer or null
Current version number
max_available_version
integer or null
Highest available version
url
string or null
Source URL (for URL-type articles)
tags
array of strings
Associated tags
created_timestamp
string
Creation date
last_modified_timestamp
string
Last modification date
downloaded_timestamp
string
Download date
last_updated_timestamp
string
Last update date
last_updated_from_external_source_timestamp
string or null
Last external source update
Scope: read_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/

Query Parameters

ParameterDescription
limit
integer
Items per page
offset
integer
Items to skip
types
string
Filter by type: Article, Paragraph, URL
tags
string
Filter by tag
url
string
Filter by URL
title
string
Filter by title
query
string
Search by content
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/?limit=10&offset=0' \
-H 'Authorization: Bearer <API_TOKEN>'

Response 200 OK

{
"items": [
{
"id": 1234,
"article_id": "abc-123",
"type": "Article",
"title": "Return Policy",
"description": "",
"state": "published",
"deploy_state": "published",
"version": 1,
"max_available_version": 1,
"url": null,
"tags": ["policies"],
"created_timestamp": "2026-01-15",
"last_modified_timestamp": "2026-01-15",
"downloaded_timestamp": "2026-01-15",
"last_updated_timestamp": "2026-01-15",
"last_updated_from_external_source_timestamp": null
}
],
"offset": 0,
"limit": 10,
"count": 1
}
Scope: read_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}

Terminal window
curl https://app.quickchat.ai/v1/api/knowledge_base/articles/1234 \
-H 'Authorization: Bearer <API_TOKEN>'

Response 200 OK — Returns the full article object (same schema as Create Article response), including the content field.

Scope: write_all

PATCH https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}

Request Body

ParameterDescription
content
string
Updated article content
title
string
Updated title
tags
array of strings
Updated tags
save_mode
string
"draft" (default) or "publish"
Terminal window
curl -X PATCH https://app.quickchat.ai/v1/api/knowledge_base/articles/1234 \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"title": "Updated Return Policy",
"content": "Returns accepted within 60 days.",
"save_mode": "publish"
}'

Response 200 OK — Returns the updated article object.

Delete one or more articles by ID.

Scope: write_all

DELETE https://app.quickchat.ai/v1/api/knowledge_base/articles/

Request Body — JSON array of article IDs.

Terminal window
curl -X DELETE https://app.quickchat.ai/v1/api/knowledge_base/articles/ \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '[1234, 5678]'

Response 200 OK

Search through article content with text matching.

Scope: read_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/search

Query Parameters

ParameterDescription
query
string, required
Search query
is_case_insensitive
boolean
Case-insensitive search (default: true)
with_title_url_and_tags
boolean
Include title/URL/tags in search (default: true)
strict_search
boolean
Require exact match (default: false)
num_of_display_articles
integer
Number of articles to display (default: 5)
num_of_data_articles
integer
Number of articles to search (default: 15)
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/search?query=return%20policy' \
-H 'Authorization: Bearer <API_TOKEN>'

Response 200 OK

{
"article_snippets": [
{
"article_id": 1234,
"expository_sentence": "Our return policy allows returns within 30 days.",
"query_words_ids": [
{"start_char": 4, "end_char": 10, "text": "return"}
]
}
],
"article_snapshots": {
"items": [],
"offset": 0,
"count": 1
}
}

List all Paragraph-type articles. Paragraphs are short standalone text entries without a title — as opposed to full Articles which have both a title and content body.

Scope: read_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs

Query Parameters

ParameterDescription
limit
integer
Items per page
offset
integer
Items to skip
query
string
Filter by content
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs?limit=10' \
-H 'Authorization: Bearer <API_TOKEN>'

Response 200 OK

{
"items": [
{
"id": 1,
"content": "Our return policy allows returns within 30 days."
}
],
"offset": 0,
"count": 1
}