Pular para o conteúdo

Os artigos são os blocos de construção da sua Base de Conhecimento. Crie, liste, atualize e exclua o conteúdo que seu Agente de IA usa para responder perguntas.

Os artigos são os blocos de construção da Base de Conhecimento do seu Agente de IA. Cada artigo representa um item de conhecimento — uma página de ajuda, uma entrada de FAQ, uma descrição de produto ou qualquer conteúdo que sua IA deva conhecer.

Existem três tipos de artigo: Articles (documentos completos com título e corpo), Paragraphs (entradas de texto curtas e autônomas) e URL articles (criados automaticamente ao importar conteúdo da web). Você pode criar artigos manualmente via API, importá-los de sites usando Import External Content, enviar arquivos via File Upload ou sincronizar a partir do Intercom.

Não existe etapa de retreinamento. Cada artigo que você cria, atualiza ou exclui é processado automaticamente em segundo plano e tem efeito assim que fica pronto — normalmente em segundos. Acompanhe pelo campo embed_state abaixo, ou por pending_embed_count em Get Knowledge Base Settings.

Escopo: write_all

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

Request Body

ParameterDescription
content
string, required
Conteúdo do artigo
type
string
"Article" (padrão) ou "Paragraph"
title
string
Título do artigo
  • "Article" — Um documento completo da base de conhecimento com título e conteúdo. Use para entradas de FAQ, artigos de ajuda, descrições de produtos.
  • "Paragraph" — Uma entrada de texto curta e autônoma, sem título. Use para fatos breves, respostas de uma linha, dados de referência rápida.
  • "URL" (somente leitura) — Criado automaticamente quando o conteúdo é importado de um site. Contém o conteúdo extraído da página, com a URL de origem. Não pode ser definido na criação.
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",
"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 do artigo. Este é o identificador canônico usado em todos os caminhos de URL
article_id
string
Identificador legado em string. Pode estar vazio — use id em vez disso
type
string
"Article", "Paragraph" ou "URL"
title
string
Título do artigo
description
string
Descrição do artigo
content
string
Conteúdo do artigo
deploy_state
string
"draft" ou "published" — apenas um rótulo (veja a nota abaixo)
embed_state
string or null
Se o artigo está no ar: "pending", "embedding", "embedded" ou "failed" (veja a nota abaixo)
state
string
Status interno de processamento (veja a nota abaixo)
refresh_failure_reason
string
Motivo da falha na atualização mais recente da URL. Fica vazio quando não há uma falha de atualização classificada armazenada
version
integer or null
Número da versão atual
max_available_version
integer or null
Versão mais alta disponível
url
string or null
URL de origem (para artigos do tipo URL)
tags
array of strings
Tags associadas
created_timestamp
string
Data de criação
last_modified_timestamp
string
Data da última modificação
downloaded_timestamp
string
Data de download
last_updated_timestamp
string
Data da última atualização
last_updated_from_external_source_timestamp
string or null
Última atualização a partir de fonte externa

Os artigos têm três campos de state. Só um deles diz se o seu Agente de IA está usando o artigo:

  • embed_state: O que realmente importa. "pending" e "embedding" significam que o artigo ainda está sendo processado; "embedded" significa que ele está no ar e o seu Agente de IA está usando; "failed" significa que o processamento não foi concluído e o artigo não está sendo usado. Este é o campo para consultar após uma escrita.
  • deploy_state: "draft" ou "published". Um rótulo apenas para a sua própria organização — ele não afeta se a IA usa o artigo.
  • state: Status interno de obtenção do conteúdo. A maioria dos usuários da API pode ignorá-lo. Em um artigo de URL, "refresh_failed" significa que a atualização mais recente não substituiu o conteúdo salvo.
  • refresh_failure_reason: Uma categoria estável para uma falha classificada na atualização da URL: "http_error", "soft_404", "off_domain_redirect", "auth_wall", "error_page", "empty_content" ou "thin_content". Pode ficar vazio quando a extração falha antes de o Quickchat conseguir classificar a página. O último conteúdo salvo continua no ar, a menos que embed_state também tenha falhado.
Escopo: read_all

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

Query Parameters

ParameterDescription
limit
integer
Itens por página
offset
integer
Itens a pular
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
Pesquisar por conteúdo
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",
"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
}

A resposta de listagem não inclui o campo content. Use Get Article para recuperar o conteúdo completo de um artigo específico.

Escopo: 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 — Retorna o objeto completo do artigo (mesmo schema da resposta de Create Article), incluindo o campo content.

Escopo: write_all

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

Request Body

ParameterDescription
content
string
Conteúdo atualizado do artigo
title
string
Título atualizado
tags
array of strings
Tags atualizadas
save_mode
string
"draft" (padrão) ou "publish"

A opção save_mode: "draft" apenas define a flag deploy_state — ela não impede que o conteúdo chegue à IA. Um artigo em draft é processado e usado exatamente como um publicado. Não confie nessa opção para preparar conteúdo; só escreva um artigo quando estiver pronto para que ele entre no ar.

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 — Retorna o objeto do artigo atualizado.

Exclua um ou mais artigos por ID.

Escopo: write_all

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

Request Body — Array JSON de IDs de artigos.

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

Pesquise no conteúdo dos artigos com correspondência de texto.

Escopo: read_all

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

Query Parameters

ParameterDescription
query
string, required
Query de pesquisa
is_case_insensitive
boolean
Pesquisa sem diferenciar maiúsculas/minúsculas (padrão: true)
with_title_url_and_tags
boolean
Incluir título/URL/tags na pesquisa (padrão: true)
strict_search
boolean
Exigir correspondência exata (padrão: false)
num_of_display_articles
integer
Número de artigos a exibir (padrão: 5)
num_of_data_articles
integer
Número de artigos a pesquisar (padrão: 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
}
}

Liste todos os artigos do tipo Paragraph. Paragraphs são entradas de texto curtas e autônomas, sem título — em contraste com os Articles completos, que têm tanto um título quanto um corpo de conteúdo.

Escopo: read_all

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

Query Parameters

ParameterDescription
limit
integer
Itens por página
offset
integer
Itens a pular
query
string
Filtrar por conteúdo
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
}