Los artículos son los componentes básicos de tu Base de Conocimiento. Crea, lista, actualiza y elimina el contenido que tu Agente de IA usa para responder preguntas.
Los artículos son los componentes básicos de la Base de Conocimiento de tu Agente de IA. Cada artículo representa una pieza de conocimiento: una página de ayuda, una entrada de FAQ, una descripción de producto o cualquier contenido que tu IA deba conocer.
Existen tres tipos de artículo: Articles (documentos completos con título y cuerpo), Paragraphs (entradas de texto cortas e independientes) y URL articles (creados automáticamente al importar contenido web). Puedes crear artículos manualmente mediante la API, importarlos de sitios web usando Import External Content, subir archivos vía File Upload o sincronizar desde Intercom.
No hay paso de reentrenamiento. Cada artículo que creas, actualizas o eliminas se procesa automáticamente en segundo plano y surte efecto en cuanto termina, normalmente en cuestión de segundos. Sigue el proceso con el campo embed_state que se describe más abajo, o con pending_embed_count en Get Knowledge Base Settings.
Comprobaciones opcionales con ejemplos
Sección titulada «Comprobaciones opcionales con ejemplos»-
Previsualizar una solicitud de Acción API. Completa una plantilla de solicitud con valores sintéticos sin enviarla. Omite las cabeceras con credenciales.
-
Previsualizar coincidencias JSONPath. Comprueba rutas de raíz, campo, índice de matriz y comodín en el JSON proporcionado. No ejecuta Acciones ni cambia la memoria de la conversación.
Create Article
Sección titulada «Create Article»POST https://app.quickchat.ai/v1/api/knowledge_base/articles/
Request Body
| Parameter | Description |
|---|---|
content string, required | Contenido del artículo |
type string | "Article" (por defecto) o "Paragraph" |
title string | Título del artículo |
"Article"— Un documento completo de la base de conocimiento con título y contenido. Úsalo para entradas de FAQ, artículos de ayuda y descripciones de producto."Paragraph"— Una entrada de texto corta e independiente, sin título. Úsala para datos breves, respuestas de una línea o datos de referencia rápida."URL"(solo lectura) — Creado automáticamente cuando se importa contenido de un sitio web. Contiene el contenido extraído de la página junto con la URL de origen. No puede establecerse al crear.
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()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", "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}| Field | Description |
|---|---|
id integer | ID numérico del artículo. Es el identificador canónico usado en todas las rutas de URL |
article_id string | Identificador de cadena heredado. Puede estar vacío: usa id en su lugar |
type string | "Article", "Paragraph" o "URL" |
title string | Título del artículo |
description string | Descripción del artículo |
content string | Contenido del artículo |
deploy_state string | "draft" o "published": solo una etiqueta (ver nota más abajo) |
embed_state string or null | Si el artículo está en vivo: "pending", "embedding", "embedded" o "failed" (ver nota más abajo) |
state string | Estado de procesamiento interno (ver nota más abajo) |
refresh_failure_reason string | Motivo por el que falló la última actualización de URL. Queda vacío cuando no hay ningún fallo de actualización clasificado guardado |
version integer or null | Número de versión actual |
max_available_version integer or null | Versión más alta disponible |
url string or null | URL de origen (para artículos de tipo URL) |
tags array of strings | Tags asociados |
created_timestamp string | Fecha de creación |
last_modified_timestamp string | Fecha de la última modificación |
downloaded_timestamp string | Fecha de descarga |
last_updated_timestamp string | Fecha de la última actualización |
last_updated_from_external_source_timestamp string or null | Última actualización desde la fuente externa |
Los artículos tienen tres campos de estado. Solo uno de ellos te dice si tu Agente de IA está usando el artículo:
embed_state: El que importa."pending"y"embedding"significan que el artículo aún se está procesando;"embedded"significa que está en vivo y tu Agente de IA lo está usando;"failed"significa que el procesamiento no se completó y el artículo no se está usando. Este es el campo que debes consultar tras una escritura.deploy_state:"draft"o"published". Es una etiqueta para tu propia organización interna: no afecta a si la IA usa el artículo.state: Estado interno de obtención del contenido. La mayoría de los usuarios de la API pueden ignorarlo. En un artículo de URL,"refresh_failed"significa que la última actualización no sustituyó el contenido guardado.refresh_failure_reason: Una categoría estable para un fallo clasificado de actualización de URL:"http_error","soft_404","off_domain_redirect","auth_wall","error_page","empty_content"o"thin_content". Puede estar vacío si la extracción falló antes de que Quickchat pudiera clasificar la página. El último contenido guardado permanece activo salvo queembed_statetambién haya fallado.
List Articles
Sección titulada «List Articles»GET https://app.quickchat.ai/v1/api/knowledge_base/articles/
Query Parameters
| Parameter | Description |
|---|---|
limit integer | Elementos por página |
offset integer | Elementos a omitir |
types string | Filtrar por tipo: Article, Paragraph, URL |
tags string | Filtrar por tag |
url string | Filtrar por URL |
title string | Filtrar por título |
query string | Buscar por contenido |
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()Response 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}La respuesta de listado no incluye el campo content. Usa Get Article para recuperar el contenido completo de un artículo concreto.
Get Article
Sección titulada «Get Article»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()Response 200 OK — Devuelve el objeto completo del artículo (mismo esquema que la respuesta de Create Article), incluido el campo content.
Update Article
Sección titulada «Update Article»PATCH https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}
Request Body
| Parameter | Description |
|---|---|
content string | Contenido actualizado del artículo |
title string | Título actualizado |
tags array of strings | Tags actualizados |
save_mode string | "draft" (por defecto) o "publish" |
La opción save_mode: "draft" solo establece el flag deploy_state: no retiene el contenido frente a la IA. Un artículo en borrador se procesa y se usa exactamente igual que uno publicado. No te apoyes en ello para preparar contenido; escribe un artículo solo cuando estés listo para que entre en vigor.
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()Response 200 OK — Devuelve el objeto del artículo actualizado.
Delete Articles
Sección titulada «Delete Articles»Elimina uno o varios artículos por ID.
Ámbito: write_allDELETE https://app.quickchat.ai/v1/api/knowledge_base/articles/
Request Body — Array JSON de IDs de artículos.
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],)Response 200 OK
Search Articles
Sección titulada «Search Articles»Busca en el contenido de los artículos con coincidencia de texto.
Ámbito: read_allGET https://app.quickchat.ai/v1/api/knowledge_base/articles/search
Query Parameters
| Parameter | Description |
|---|---|
query string, required | Consulta de búsqueda |
is_case_insensitive boolean | Búsqueda sin distinción de mayúsculas/minúsculas (por defecto: true) |
with_title_url_and_tags boolean | Incluir título/URL/tags en la búsqueda (por defecto: true) |
strict_search boolean | Requerir coincidencia exacta (por defecto: false) |
num_of_display_articles integer | Número de artículos a mostrar (por defecto: 5) |
num_of_data_articles integer | Número de artículos en los que buscar (por defecto: 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()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 Paragraphs
Sección titulada «List Paragraphs»Lista todos los artículos de tipo Paragraph. Los Paragraphs son entradas de texto cortas e independientes, sin título, a diferencia de los Articles completos, que tienen tanto título como cuerpo de contenido.
Ámbito: read_allGET https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs
Query Parameters
| Parameter | Description |
|---|---|
limit integer | Elementos por página |
offset integer | Elementos a omitir |
query string | Filtrar por contenido |
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()Response 200 OK
{ "items": [ { "id": 1, "content": "Our return policy allows returns within 30 days." } ], "offset": 0, "count": 1}