Статті складають вашу Базу знань. Створюйте, переглядайте, оновлюйте й видаляйте вміст, який AI-агент використовує для відповідей.
Статті є основою Бази знань AI-агента. Кожна стаття містить окрему частину знань: сторінку довідки, відповідь на часте запитання, опис продукту або інший вміст, який має знати AI.
Існує три типи: Статті (повні документи із заголовком і текстом), Абзаци (короткі окремі текстові записи) і URL-статті (створюються автоматично під час імпорту вебвмісту). Статті можна створювати вручну через API, імпортувати із сайтів через Імпорт зовнішнього вмісту, завантажувати через Завантаження файлів або синхронізувати з Intercom.
Повторне навчання не потрібне. Кожна створена, оновлена чи видалена стаття автоматично обробляється у фоні, а зміни набувають чинності після завершення, зазвичай за кілька секунд. Відстежуйте стан через поле embed_state нижче або pending_embed_count у налаштуваннях Бази знань.
Необов’язкові перевірки прикладів
Section titled “Необов’язкові перевірки прикладів”-
Попередній перегляд запиту дії API. Побудуйте запит із наданого шаблону й синтетичних тестових значень без надсилання. Не додавайте заголовки з обліковими даними.
-
Попередній перегляд збігів JSONPath. Перевірте шляхи до кореня, полів, індексів масиву та шляхи з підстановкою за наданим JSON. Дія не виконується, пам’ять розмови не зберігається.
Створення статті
Section titled “Створення статті”POST https://app.quickchat.ai/v1/api/knowledge_base/articles/
Тіло запиту
| Параметр | Опис |
|---|---|
content string, обов’язковий | Вміст статті |
type string | "Article" (за замовчуванням) або "Paragraph" |
title string | Заголовок статті |
"Article": повний документ Бази знань із заголовком і вмістом. Використовуйте для частих запитань, довідкових статей, описів продуктів."Paragraph": короткий окремий текст без заголовка. Використовуйте для стислих фактів, відповідей одним реченням, довідкових даних."URL"(лише читання): створюється автоматично під час імпорту вмісту із сайту. Містить отриманий текст сторінки та вихідний URL. Не можна вказати під час створення.
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"}'import requests
response = requests.post( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "content": "Our return policy allows returns within 30 days.", "title": "Return Policy", },)data = response.json()Відповідь 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", "embed_state": "pending", "refresh_failure_reason": "", "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}| Поле | Опис |
|---|---|
id integer | Числовий ID статті. Це основний ідентифікатор для всіх URL-шляхів |
article_id string | Застарілий рядковий ідентифікатор. Може бути порожнім; використовуйте id |
type string | "Article", "Paragraph" або "URL" |
title string | Заголовок статті |
description string | Опис статті |
content string | Вміст статті |
deploy_state string | "draft" або "published": лише мітка (див. примітку нижче) |
embed_state string or null | Чи використовується стаття: "pending", "embedding", "embedded" або "failed" (див. примітку нижче) |
state string | Внутрішній статус обробки (див. примітку нижче) |
refresh_failure_reason string | Причина помилки останнього оновлення URL. Порожнє, якщо класифікованої причини не збережено |
version integer or null | Номер поточної версії |
max_available_version integer or null | Найвища доступна версія |
url string or null | Вихідний URL (для URL-статей) |
tags array of strings | Пов’язані теги |
created_timestamp string | Дата створення |
last_modified_timestamp string | Дата останньої зміни |
downloaded_timestamp string | Дата завантаження |
last_updated_timestamp string | Дата останнього оновлення |
last_updated_from_external_source_timestamp string or null | Останнє оновлення із зовнішнього джерела |
Статті мають три поля стану. Лише одне з них показує, чи використовує статтю AI-агент:
embed_state: основне поле."pending"і"embedding"означають, що обробка ще триває;"embedded"означає, що стаття доступна й AI-агент її використовує;"failed"означає, що обробка не завершилася й стаття не використовується. Опитуйте це поле після запису.deploy_state:"draft"або"published". Лише мітка для вашої організації, яка не впливає на використання статті AI.state: внутрішній статус отримання вмісту. Більшість користувачів API можуть його ігнорувати. Для URL-статті"refresh_failed"означає, що останнє оновлення не замінило збережений вміст.refresh_failure_reason: стабільна категорія класифікованої помилки оновлення URL:"http_error","soft_404","off_domain_redirect","auth_wall","error_page","empty_content"або"thin_content". Може бути порожнім, якщо збій стався до класифікації сторінки Quickchat. Останній збережений вміст залишається доступним, якщоembed_stateтакож не вказує на помилку.
Список статей
Section titled “Список статей”GET https://app.quickchat.ai/v1/api/knowledge_base/articles/
Параметри запиту
| Параметр | Опис |
|---|---|
limit integer | Кількість елементів на сторінці |
offset integer | Кількість елементів, які слід пропустити |
types string | Фільтр за типом: Article, Paragraph, URL |
tags string | Фільтр за тегом |
url string | Фільтр за URL |
title string | Фільтр за заголовком |
query string | Пошук за вмістом |
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/?limit=10&offset=0' \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/", headers={"Authorization": "Bearer <API_TOKEN>"}, params={"limit": 10, "offset": 0},)data = response.json()Відповідь 200 OK
{ "items": [ { "id": 1234, "article_id": "abc-123", "type": "Article", "title": "Return Policy", "description": "", "state": "published", "deploy_state": "published", "embed_state": "embedded", "refresh_failure_reason": "", "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}Відповідь зі списком не містить поля content. Використовуйте Отримання статті, щоб отримати повний вміст конкретної статті.
Отримання статті
Section titled “Отримання статті”GET https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}
curl https://app.quickchat.ai/v1/api/knowledge_base/articles/1234 \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/1234", headers={"Authorization": "Bearer <API_TOKEN>"},)data = response.json()Відповідь 200 OK: повертає повний об’єкт статті (та сама схема, що у відповіді Створення статті), зокрема поле content.
Оновлення статті
Section titled “Оновлення статті”PATCH https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}
Тіло запиту
| Параметр | Опис |
|---|---|
content string | Оновлений вміст статті |
title string | Оновлений заголовок |
tags array of strings | Оновлені теги |
save_mode string | "draft" (за замовчуванням) або "publish" |
Параметр save_mode: "draft" лише задає прапорець deploy_state, він не приховує вміст від AI. Чернетка обробляється й використовується так само, як опублікована стаття. Не покладайтеся на цей параметр для підготовки матеріалів: записуйте статтю лише тоді, коли готові надати її AI.
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"}'import requests
response = requests.patch( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/1234", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "title": "Updated Return Policy", "content": "Returns accepted within 60 days.", "save_mode": "publish", },)data = response.json()Відповідь 200 OK: повертає оновлений об’єкт статті.
Видалення статей
Section titled “Видалення статей”Видаліть одну або кілька статей за ID.
Область доступу: write_allDELETE https://app.quickchat.ai/v1/api/knowledge_base/articles/
Тіло запиту: JSON-масив ID статей.
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]'import requests
response = requests.delete( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/", headers={"Authorization": "Bearer <API_TOKEN>"}, json=[1234, 5678],)Відповідь 200 OK
Пошук статей
Section titled “Пошук статей”Пошук текстових збігів у вмісті статей.
Область доступу: read_allGET https://app.quickchat.ai/v1/api/knowledge_base/articles/search
Параметри запиту
| Параметр | Опис |
|---|---|
query string, обов’язковий | Пошуковий запит |
is_case_insensitive boolean | Пошук без урахування регістру (за замовчуванням: true) |
with_title_url_and_tags boolean | Включати заголовок, URL і теги до пошуку (за замовчуванням: true) |
strict_search boolean | Вимагати точний збіг (за замовчуванням: false) |
num_of_display_articles integer | Кількість статей для показу (за замовчуванням: 5) |
num_of_data_articles integer | Кількість статей для пошуку (за замовчуванням: 15) |
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/search?query=return%20policy' \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/search", headers={"Authorization": "Bearer <API_TOKEN>"}, params={"query": "return policy"},)data = response.json()Відповідь 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 }}Список абзаців
Section titled “Список абзаців”Отримайте всі статті типу Paragraph. Абзаци є короткими окремими текстами без заголовка, на відміну від повних статей із заголовком і текстом.
Область доступу: read_allGET https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs
Параметри запиту
| Параметр | Опис |
|---|---|
limit integer | Кількість елементів на сторінці |
offset integer | Кількість елементів, які слід пропустити |
query string | Фільтр за вмістом |
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs?limit=10' \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs", headers={"Authorization": "Bearer <API_TOKEN>"}, params={"limit": 10},)data = response.json()Відповідь 200 OK
{ "items": [ { "id": 1, "content": "Our return policy allows returns within 30 days." } ], "offset": 0, "count": 1}