Ir al contenido

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.

Ámbito: write_all

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

Request Body

ParameterDescription
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.
Ventana de terminal
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",
"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
}
FieldDescription
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 que embed_state también haya fallado.
Ámbito: read_all

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

Query Parameters

ParameterDescription
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
Ventana de terminal
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",
"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.

Ámbito: read_all

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

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

Response 200 OK — Devuelve el objeto completo del artículo (mismo esquema que la respuesta de Create Article), incluido el campo content.

Ámbito: write_all

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

Request Body

ParameterDescription
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.

Ventana de terminal
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 — Devuelve el objeto del artículo actualizado.

Elimina uno o varios artículos por ID.

Ámbito: write_all

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

Request Body — Array JSON de IDs de artículos.

Ventana de terminal
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

Busca en el contenido de los artículos con coincidencia de texto.

Ámbito: read_all

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

Query Parameters

ParameterDescription
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)
Ventana de terminal
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
}
}

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_all

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

Query Parameters

ParameterDescription
limit
integer
Elementos por página
offset
integer
Elementos a omitir
query
string
Filtrar por contenido
Ventana de terminal
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
}