Rouva Docs
Everything you need to connect your app to Rouva — from a quick start to the full API reference.
Updated on July 9, 2026
Quick start
Connect your app to Rouva in three steps. No infrastructure changes required.
-
Create an account
Sign up at app.rouva.io and connect one or more AI provider API keys in Settings. -
Generate your Rouva gateway key
Go to Integrations in your dashboard and click Generate API key. Your key starts with rva_. -
Route your first request
Use the SDK or call the gateway directly. Rouva handles the rest.
SDK
The official Node.js SDK is the fastest way to integrate. One client, any connected provider — drop-in compatible with the OpenAI SDK.
Install
npm install @rouvanpm/rouva
Usage
import { Rouva } from '@rouvanpm/rouva'
const rouva = new Rouva({ apiKey: 'rva_your_key' })
const response = await rouva.chat.completions.create({
messages: [{ role: 'user', content: 'Your prompt here' }],
})
Already using OpenAI or Anthropic?
Change two lines. Rouva uses the same message format — your existing code works as-is.
// Before (OpenAI) import OpenAI from 'openai' const openai = new OpenAI({ apiKey: '...' }) const res = await openai.chat.completions.create({ messages, model: 'gpt-4o' }) // Before (Anthropic) import Anthropic from '@anthropic-ai/sdk' const anthropic = new Anthropic({ apiKey: '...' }) const res = await anthropic.messages.create({ messages, model: 'claude-sonnet-4-6', max_tokens: 1024 }) // After — one client, any provider, intelligently routed import { Rouva } from '@rouvanpm/rouva' const rouva = new Rouva({ apiKey: 'rva_...' }) const res = await rouva.chat.completions.create({ messages, model: 'gpt-4o' }) // model optional
Options
| Option | Type | Required | Description |
|---|---|---|---|
| apiKey | string | Required | Your rva_ gateway key from the dashboard |
| baseURL | string | Optional | Override the default gateway URL |
Gateway endpoint
Prefer Python or another language? Call the gateway directly over HTTP — no SDK required.
POST https://app.rouva.io/api/gateway/messages
Headers
| Header | Value |
|---|---|
| Authorization | Bearer rva_your_key |
| Content-Type | application/json |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
| messages | array | Required | Array of { role, content } objects |
| model | string | Optional | Your intended model. Omit to let Rouva route freely. When provided, Rouva routes cheaper when possible and tracks savings against it. |
| max_tokens | number | Optional | Maximum tokens to generate |
| stream | boolean | Optional | Stream the response via SSE |
Example — Python
import requests
response = requests.post(
"https://app.rouva.io/api/gateway/messages",
headers={
"Authorization": "Bearer rva_your_key",
"Content-Type": "application/json",
},
json={
"messages": [{"role": "user", "content": "Hello!"}],
}
)
print(response.json())
Supported models
Pass any of these model IDs in the model field to override routing. Make sure the relevant provider key is connected in your dashboard Settings.
Anthropic
Complex reasoning, coding, and long-context work.
claude-opus-4-8
claude-opus-4-7
claude-opus-4-6
claude-sonnet-5
claude-sonnet-4-6
claude-haiku-4-5-20251001
OpenAI
General-purpose, coding, and vision-heavy tasks.
gpt-5-nano
gpt-5-mini
gpt-5
gpt-5.6
gpt-4.1-nano
gpt-4.1-mini
gpt-4.1
gpt-4o
gpt-4o-mini
Google Gemini
Fast multimodal and long-context reasoning.
gemini-2.5-flash
gemini-2.5-pro
xAI Grok
Chat, coding, and knowledge work.
grok-4.3
grok-4.5
grok-4.20-0309-reasoning
DeepSeek
Strong coding and reasoning with efficient pricing.
deepseek-v4-flash
deepseek-v4-flash-think
deepseek-v4-pro
Mistral
Lightweight European models for deterministic workloads.
mistral-small-latest
mistral-large-latest
Moonshot Kimi
Coding, research, and agent workflows.
kimi-k2.6
Z.ai
Long-horizon agent workflows and lightweight tasks.
glm-5.2
glm-4.7-flash
Ready to get started?
Create your account, connect a provider, and make your first routed request in minutes.
Get started free →