The KloudBean RAG (Retrieval-Augmented Generation) API provides AI-powered question-answering capabilities based on your documentation. Use this API to integrate intelligent search and assistance features into your applications.
https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-chat
Note: For searching articles, use rag-api endpoint. For AI-generated conversational answers, use rag-chat endpoint.
This is a public API and does not require authentication. All endpoints are accessible without API keys.
Get conversational AI-generated answers based on your question. This endpoint uses Claude to generate comprehensive answers from relevant articles.
curl "https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-chat?q=How+do+I+deploy+Django"
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Yes | Your question or query |
{
"success": true,
"answer": "Deploying a production-grade Django application on Kloudbean is a straightforward process...",
"sources": [
{
"title": "Deploy and Run Django Application using Kloudbean.",
"url": "https://help.kloudbean.com/article/deploy-and-run-django-application-using-kloudbean",
"category": "Installing and Deploying Application",
"relevance": "high"
},
{
"title": "Django Deployment",
"url": "https://help.kloudbean.com/article/deploying-django",
"category": "Application Deployment",
"relevance": "high"
}
],
"metadata": {
"question": "How do I deploy Django",
"keywordsUsed": ["deploy", "django"],
"articlesSearched": 148,
"articlesUsed": 8,
"responseTimeMs": 8320
},
"rateLimit": {
"limit": 30,
"remaining": 29,
"window": "1 minute"
}
}
| Field | Type | Description |
|---|---|---|
success | boolean | Indicates if the request was successful |
answer | string | The AI-generated conversational answer in markdown format |
sources | array | Array of source articles used to generate the answer |
sources[].title | string | Title of the source article |
sources[].url | string | URL to the source article |
sources[].category | string | Category of the source article |
sources[].relevance | string | Relevance level (e.g., "high", "medium", "low") |
metadata | object | Additional metadata about the query processing |
rateLimit | object | Rate limit information (limit, remaining, window) |
Search articles by keyword across titles, descriptions, and content. Returns raw article data.
curl "https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api?action=search&q=laravel&limit=5"
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | Must be "search" |
q or query | string | Yes | Search keywords |
limit | integer | No | Max results to return. Default: 50, Max: 100 |
{
"success": true,
"count": 5,
"data": [
{
"id": "abc123",
"title": "Laravel Deployment",
"slug": "application-deployment/deploying-laravel",
"url": "https://kb.kloudbean.com/article/deploying-laravel",
"category": "Application Deployment",
"description": "Complete guide to deploying Laravel applications...",
"content": "..."
}
],
"usage": {...}
}
Retrieve all published articles from the knowledge base.
curl "https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api?action=all&limit=50"
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | Must be "all" |
limit | integer | No | Max articles to return. Default: 50, Max: 100 |
format | string | No | Response format: "json" or "text" |
Retrieve a specific article by its slug.
curl "https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api?action=article&slug=getting-started"
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | Must be "article" |
slug | string | Yes | Article URL slug |
Get all available categories in the knowledge base.
curl "https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api?action=categories"
All errors follow this format:
{
"error": {
"code": "ERROR_CODE",
"message": "Human-readable error message",
"details": {}
}
}
| Code | HTTP Status | Description |
|---|---|---|
INVALID_REQUEST | 400 | Invalid request parameters or missing required fields |
NOT_FOUND | 404 | Article or resource not found |
RATE_LIMIT_EXCEEDED | 429 | Too many requests. Please try again later. |
INTERNAL_ERROR | 500 | Internal server error. Please contact support. |
This is a public API with reasonable rate limits to ensure fair usage for all users. Please use the API responsibly and avoid excessive requests.
// Search articles
const query = 'laravel deployment';
const response = await fetch(
`https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api?action=search&q=${encodeURIComponent(query)}&limit=5`
);
const articles = await response.json();
console.log('Found articles:', articles);
// Get all articles
const allResponse = await fetch(
'https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api?action=all&limit=50'
);
const allArticles = await allResponse.json();
import requests
from urllib.parse import quote
# Get AI-generated answer
base_url = 'https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-chat'
query = 'How do I deploy Django?'
url = f'{base_url}?q={quote(query)}'
response = requests.get(url)
data = response.json()
if data.get('success'):
print('Answer:', data['answer'])
print('Sources:', data['sources'])
print('Rate limit remaining:', data['rateLimit']['remaining'])
# Search articles (raw data)
search_url = 'https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api'
search_response = requests.get(f'{search_url}?action=search&q={quote(query)}&limit=5')
search_data = search_response.json()
print(f'Found {search_data.get("count", 0)} articles')
<?php
// Get AI-generated answer
$baseUrl = 'https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-chat';
$query = urlencode('How do I deploy Django?');
$url = "$baseUrl?q=$query";
$response = file_get_contents($url);
$data = json_decode($response, true);
if ($data['success']) {
echo "Answer: " . $data['answer'] . "
";
echo "Sources: " . count($data['sources']) . " articles
";
echo "Rate limit remaining: " . $data['rateLimit']['remaining'] . "
";
}
// Search articles (raw data)
$searchUrl = 'https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api';
$searchResponse = file_get_contents("$searchUrl?action=search&q=$query&limit=5");
$searchData = json_decode($searchResponse, true);
echo "Found " . $searchData['count'] . " articles
";
?>
This is a public API - no authentication required! Get started with a simple API call:
# Get AI-generated answer (recommended)
curl "https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-chat?q=How+do+I+deploy+Django"
# Search for articles (raw data)
curl "https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api?action=search&q=kubernetes"
# Get all articles
curl "https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api?action=all"
# Get a specific article
curl "https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api?action=article&slug=getting-started"
# List categories
curl "https://vhbbmovxfuuqzfywysba.supabase.co/functions/v1/rag-api?action=categories"
If you have questions about the RAG API or need assistance with integration, please contact our support team at [email protected].