Build AI Support Into Your Product
Full REST API with 6 endpoint domains — messages, conversations, knowledge, settings, analytics, and webhooks. Streaming, structured errors, and pagination included.
Get your API key and send your first message in under 5 minutes.
Developer API v1 surface. API key management is via the dashboard.
Send a message in 5 lines of code
const response = await fetch('https://api.rovixal.com/v1/messages', {
method: 'POST',
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
message: 'How do I reset my password?'
})
});
// Response: { data: { conversationId, message, source } }
// For streaming: POST to /v1/messages/stream (SSE)One API, Six Domains
29 endpoints covering every aspect of your AI support system — from sending messages to configuring behavior programmatically.
Messages
Send messages and receive AI responses. Stream via Server-Sent Events.
Conversations
List, retrieve, and export conversations (JSON/CSV). Pagination and date filtering.
Knowledge
List sources, inspect pages and chunks, trigger syncs, enable or disable sources.
Settings
Control tone, response style, fallback behavior, confidence threshold, and widget appearance.
Analytics
Dashboard, conversation trends, top questions, feedback, usage, and trust score.
Webhooks
CRUD subscriptions, test delivery, inspect delivery logs, and retries.
Configure Everything Programmatically
The Settings API lets you control your chatbot's behavior and appearance without touching the dashboard.
- Tone and response style (Professional, Friendly, Casual, Concise)
- Fallback behavior (Try Anyway, Ask Clarify, Suggest Topics, Escalate)
- Confidence threshold and citation style (None, Inline, Footer)
- Widget appearance (colors, position, messaging)
{
"tone": "FRIENDLY",
"responseStyle": "CONCISE",
"fallbackBehavior": "SUGGEST_TOPICS",
"confidenceThreshold": 0.75,
"conversationStarters": [
"How do I get started?",
"What's new this month?"
]
}Webhook Events
Subscribe to real-time events and build integrations with your existing tools and workflows.
conversation.startedFired when a new conversation beginsmessage.receivedFired when a user sends a messagemessage.sentFired when the bot respondsescalation.triggeredFired when a conversation is escalated to humanfeedback.receivedFired when a user gives thumbs up/downknowledge.syncedFired when knowledge sources finish syncingconversation.endedFired when a conversation is closedagent.joinedFired when a live agent joins a conversationagent.message.sentFired when a live agent sends a messagehandoff.resolvedFired when a live chat handoff is resolvedBuilt for Production
Structured errors, pagination, and date filtering — everything you need to build reliable integrations.
Structured Errors
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests.",
"status": 429,
"timestamp": "2025-06-15T09:23:41.000Z"
}
}Every error returns a machine-readable code, human message, HTTP status, and timestamp.
Pagination
{
"data": [...],
"meta": {
"total": 142,
"page": 2,
"pageSize": 20
}
}List endpoints support pagination with configurable page size up to 100.
Date Filtering
GET /v1/analytics/top-questions
?startDate=2025-01-01
&endDate=2025-01-31
&limit=10Filter conversations, analytics, and feedback by date range.