D A T A

API Documentation

Integrate DataBrain's powerful RAG capabilities into your applications

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.

Upload Icon
Document Management

Upload and manage your documents that will serve as sources for the RAG system.

Query Icon
Query Capabilities

Retrieve information from your documents using natural language queries.

Security Icon
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.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail.

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
POST

Upload 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
GET

Retrieve 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
POST

Perform 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
POST

Perform 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 Team
Documentation Icon

Comprehensive Documentation

Explore our in-depth guides and tutorials to master DataBrain's RAG capabilities.

Browse Guides
SDK Icon

Client Libraries

Use our official SDKs for popular programming languages to accelerate integration.

View SDKs
Community Icon

Developer Community

Join our community forum to share insights and get help from fellow developers.

Join Community

Ready to enhance your applications with DataBrain RAG?

Start with our free trial and experience the power of advanced RAG technology.