Documentos
Ingestão de texto e arquivos, listagem, remoção e export completo da base.
Atualizado em 10 de ago. de 2026
Dois caminhos de entrada: texto puro em JSON, ou arquivo em multipart/form-data. Nos dois a indexação é síncrona — extração, corte em trechos (512 tokens com sobreposição de 50, ajustáveis) e embedding acontecem na chamada, e a resposta já confirma chunks e embed_tokens. O documento sai nas buscas imediatamente.
https://api.hinow.ai/v1/rag/documentsBearerIndexa um texto na base.
Parâmetros
rag_idstring· bodyobrigatórioA base de destino.
textstring· bodyobrigatórioO conteúdo.
filenamestring· bodyNome/origem exibido nas buscas. Padrão `document.txt`.
document_idstring· bodyReenviar com o mesmo id substitui o documento (idempotente).
metadataobject· bodyPares livres, devolvidos nas buscas.
chunk_sizeinteger· bodyTokens por trecho. Padrão 512.
chunk_overlapinteger· bodySobreposição entre trechos. Padrão 50.
Respostas
{
"document_id": "7bfee913effd4d40bac1c80a3daff25f",
"chunks": 1,
"embed_tokens": 21
}https://api.hinow.ai/v1/rag/documents/uploadBearerEnvia um arquivo (multipart/form-data). PDF, DOCX, PPTX, XLSX, HTML, Markdown e qualquer texto — veja a tabela de formatos na página RAG.
Parâmetros
filefile· bodyobrigatórioAté 25 MB.
rag_idstring· bodyobrigatóriodocument_idstring· bodySubstituição idempotente, como no texto.
Respostas
{
"document_id": "ef01480c509642298911297df854885f",
"chunks": 1,
"embed_tokens": 18
}O tamanho do trecho é a decisão que mais pesa
Trechos curtos acertam o parágrafo mas perdem o contexto em volta; trechos longos trazem contexto e diluem a similaridade. O padrão de 512 tokens funciona bem para documentação e políticas; para FAQ puro, prefira pares de pergunta e resposta.
https://api.hinow.ai/v1/rag/documentsBearerLista os documentos da base.
Parâmetros
rag_idstring· queryobrigatório
Respostas
{
"documents": [
{
"document_id": "ef01480c...",
"source": "garantia.pdf",
"chunk_count": 1,
"metadata": { "filename": "garantia.pdf", ... }
}
]
}https://api.hinow.ai/v1/rag/documents/{document_id}BearerRemove um documento. Ele vai para a lixeira e pode ser restaurado por 15 dias.
Parâmetros
document_idstring· pathobrigatóriorag_idstring· queryobrigatório
Respostas
{
"document_id": "56ef03f5...",
"deleted": true,
"trashed": true
}https://api.hinow.ai/v1/rag/documents/exportBearerExporta a base inteira com o texto completo de cada documento — backup e migração.
Parâmetros
rag_idstring· queryobrigatório
Respostas
{
"rag_id": "1d9cf4ae...",
"count": 7,
"documents": [
{ "document_id": "...", "source": "trocas.docx", "text": "...", "metadata": {...} }
]
}# texto puro
curl -s https://api.hinow.ai/v1/rag/documents \
-H "Authorization: Bearer hi_SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rag_id": "1d9cf4ae05f64a9faf987981b22cdeae",
"text": "O cancelamento pode ser feito a qualquer momento no painel, sem multa.",
"filename": "cancelamento.txt"
}'
# arquivo
curl -s https://api.hinow.ai/v1/rag/documents/upload \
-H "Authorization: Bearer hi_SUA_API_KEY" \
-F "file=@precos.xlsx" \
-F "rag_id=1d9cf4ae05f64a9faf987981b22cdeae"import requests
BASE = "https://api.hinow.ai/v1/rag"
HEADERS = {"Authorization": "Bearer hi_SUA_API_KEY"}
RAG_ID = "1d9cf4ae05f64a9faf987981b22cdeae"
# texto puro
requests.post(f"{BASE}/documents", headers=HEADERS, json={
"rag_id": RAG_ID,
"text": "O cancelamento pode ser feito a qualquer momento no painel, sem multa.",
"filename": "cancelamento.txt",
})
# arquivo
with open("precos.xlsx", "rb") as f:
requests.post(
f"{BASE}/documents/upload", headers=HEADERS,
files={"file": f}, data={"rag_id": RAG_ID},
)
