Overview
DataBrain provides a RESTful API that allows developers to harness the power of Retrieval-Augmented Generation (RAG) technology. With our API, you can upload documents, create knowledge bases, and generate highly accurate, contextually relevant responses based on your data.
Our API is organized around REST principles. All requests should be made to the base URL https://api.databrain.ai/rag
, using HTTPS, and will return JSON-encoded responses with standard HTTP response codes.
Document Management
Upload and manage your documents that will serve as sources for the RAG system.
Query Capabilities
Retrieve information from your documents using natural language queries.
Secure & Scalable
Enterprise-grade security with token-based authentication and scalable infrastructure.
Authentication
DataBrain API uses token-based authentication. You'll need to include your API token in the Authorization header for all requests.
Authorization Header
Authorization: Bearer YOUR_API_TOKEN
You can obtain your API token from the DataBrain Dashboard under API Settings. Keep your token secure and don't share it in publicly accessible areas such as GitHub or client-side code.
Document Management
DataBrain supports various document types including PDF, TXT, DOCX, MP3, and CSV files. Documents are processed and chunked automatically for optimal retrieval.
Upload Document
POSTUpload and process a document to be used as a knowledge source for RAG queries.
Endpoint
https://api.databrain.ai/rag/documents/upload
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
document | File | Yes | The document file to upload (PDF, TXT, CSV, DOCX, MP3) |
Response (201 Created)
{
"message": "Documento processado com sucesso",
"document_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "exemplo.pdf",
"type": "pdf",
"chunks": 15
}
List Documents
GETRetrieve a list of all documents uploaded by the current user.
Endpoint
https://api.databrain.ai/rag/documents
Parameters
No parameters required.
Response (200 OK)
{
"documents": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "exemplo1.pdf",
"type": "pdf",
"created_at": "2023-06-01T15:30:45Z"
},
{
"id": "123e4567-e89b-12d3-a456-426614174001",
"name": "exemplo2.txt",
"type": "txt",
"created_at": "2023-06-02T10:15:30Z"
}
]
}
Queries
The heart of DataBrain's RAG system is the ability to query your documents using natural language and receive accurate, context-aware responses.
Query RAG
POSTPerform a RAG query against all documents in your knowledge base.
Endpoint
https://api.databrain.ai/rag/query
Request Body
Parameter | Type | Required | Description |
---|---|---|---|
query | String | Yes | The natural language query to process |
Example Request
{
"query": "Quais são os principais pontos do documento sobre política de privacidade?"
}
Response (200 OK)
{
"answer": "Os principais pontos da política de privacidade incluem: 1) Coleta de dados pessoais apenas com consentimento; 2) Utilização de dados para melhorar serviços; 3) Não compartilhamento de dados com terceiros sem autorização; 4) Direito de acesso e retificação de dados pelo usuário; 5) Armazenamento seguro com criptografia.",
"sources": [
{
"document_id": "123e4567-e89b-12d3-a456-426614174000",
"document_name": "Política de Privacidade.pdf",
"relevance": 0.92,
"content": "A política de privacidade estabelece que coletamos dados pessoais apenas com consentimento explícito do usuário. Utilizamos estes dados exclusivamente para melhorar nossos serviços e experiência do usuário."
},
{
"document_id": "123e4567-e89b-12d3-a456-426614174000",
"document_name": "Política de Privacidade.pdf",
"relevance": 0.87,
"content": "Comprometemo-nos a não compartilhar dados pessoais com terceiros sem autorização expressa. Todos os usuários têm direito de acessar, retificar e excluir seus dados a qualquer momento."
},
{
"document_id": "123e4567-e89b-12d3-a456-426614174000",
"document_name": "Política de Privacidade.pdf",
"relevance": 0.81,
"content": "Todos os dados são armazenados em servidores seguros com criptografia de ponta a ponta, garantindo máxima proteção contra vazamentos e acessos não autorizados."
}
]
}
Filtered Query
POSTPerform a RAG query against specific documents in your knowledge base.
Endpoint
https://api.databrain.ai/rag/filtered-query
Request Body
Parameter | Type | Required | Description |
---|---|---|---|
query | String | Yes | The natural language query to process |
document_ids | Array | Yes | Array of document IDs to query against |
Example Request
{
"query": "Quais são os principais pontos do documento sobre política de privacidade?",
"document_ids": ["123e4567-e89b-12d3-a456-426614174000", "123e4567-e89b-12d3-a456-426614174001"]
}
Response (200 OK)
{
"answer": "Os principais pontos da política de privacidade incluem: 1) Coleta de dados pessoais apenas com consentimento; 2) Utilização de dados para melhorar serviços; 3) Não compartilhamento de dados com terceiros sem autorização; 4) Direito de acesso e retificação de dados pelo usuário; 5) Armazenamento seguro com criptografia.",
"sources": [
{
"document_id": "123e4567-e89b-12d3-a456-426614174000",
"document_name": "Política de Privacidade.pdf",
"relevance": 0.92,
"content": "A política de privacidade estabelece que coletamos dados pessoais apenas com consentimento explícito do usuário. Utilizamos estes dados exclusivamente para melhorar nossos serviços e experiência do usuário."
},
{
"document_id": "123e4567-e89b-12d3-a456-426614174000",
"document_name": "Política de Privacidade.pdf",
"relevance": 0.87,
"content": "Comprometemo-nos a não compartilhar dados pessoais com terceiros sem autorização expressa. Todos os usuários têm direito de acessar, retificar e excluir seus dados a qualquer momento."
},
{
"document_id": "123e4567-e89b-12d3-a456-426614174000",
"document_name": "Política de Privacidade.pdf",
"relevance": 0.81,
"content": "Todos os dados são armazenados em servidores seguros com criptografia de ponta a ponta, garantindo máxima proteção contra vazamentos e acessos não autorizados."
}
]
}
Code Examples
Here are some examples of how to use the DataBrain API in different programming languages.
Upload a Document
curl -X POST \
https://api.databrain.ai/rag/documents/upload \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Accept: application/json' \
-F 'document=@/path/to/your/document.pdf'
Query RAG
curl -X POST \
https://api.databrain.ai/rag/query \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"query": "What are the main points of the privacy policy?"
}'
Upload a Document
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.databrain.ai/rag/documents/upload",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => [
'document' => new CURLFILE('/path/to/your/document.pdf')
],
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_TOKEN",
"Accept: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Query RAG
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.databrain.ai/rag/query",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => 'What are the main points of the privacy policy?'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_TOKEN",
"Content-Type: application/json",
"Accept: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Upload a Document
import requests
url = "https://api.databrain.ai/rag/documents/upload"
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json'
}
files = {
'document': open('/path/to/your/document.pdf', 'rb')
}
response = requests.post(url, headers=headers, files=files)
print(response.json())
Query RAG
import requests
import json
url = "https://api.databrain.ai/rag/query"
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
payload = {
'query': 'What are the main points of the privacy policy?'
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
print(response.json())
Upload a Document
const fs = require('fs');
const axios = require('axios');
const FormData = require('form-data');
async function uploadDocument() {
const formData = new FormData();
formData.append('document', fs.createReadStream('/path/to/your/document.pdf'));
try {
const response = await axios.post('https://api.databrain.ai/rag/documents/upload', formData, {
headers: {
...formData.getHeaders(),
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json'
}
});
console.log(response.data);
} catch (error) {
console.error(error);
}
}
uploadDocument();
Query RAG
const axios = require('axios');
async function queryRag() {
try {
const response = await axios.post('https://api.databrain.ai/rag/query', {
query: 'What are the main points of the privacy policy?'
}, {
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
});
console.log(response.data);
} catch (error) {
console.error(error);
}
}
queryRag();
Need Help With Integration?
Our team of experts is ready to assist you with implementing DataBrain's RAG API into your applications. Contact us for personalized support.
Contact Support TeamComprehensive Documentation
Explore our in-depth guides and tutorials to master DataBrain's RAG capabilities.
Browse GuidesClient Libraries
Use our official SDKs for popular programming languages to accelerate integration.
View SDKsDeveloper Community
Join our community forum to share insights and get help from fellow developers.
Join Community