AI API
Endpoints
Section titled “Endpoints”| Method | Path | Purpose |
|---|---|---|
| POST | /v1/{app_id}/chat/completions | Chat completion (OpenAI-compatible) |
| POST | /v1/{app_id}/embeddings | Generate embeddings |
| GET | /v1/{app_id}/ai/config | Get AI configuration |
| PUT | /v1/{app_id}/ai/config | Update AI configuration |
| GET | /v1/{app_id}/ai/usage | Get AI usage statistics |
Chat completions
Section titled “Chat completions”POST /v1/{app_id}/chat/completionsAuthorization: Bearer {token}
{ "model": "anthropic/claude-3.5-sonnet", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Hello!" } ], "max_tokens": 500, "temperature": 0.7, "stream": false}Standard OpenAI-compatible response format. Set "stream": true for server-sent events.
Embeddings
Section titled “Embeddings”POST /v1/{app_id}/embeddingsAuthorization: Bearer {token}
{ "model": "openai/text-embedding-3-small", "input": "What is Butterbase?", "encoding_format": "float"}| Parameter | Description |
|---|---|
model | Embedding model ID (required) |
input | String or array of strings (required) |
encoding_format | "float" (default) or "base64" |
Available embedding models
Section titled “Available embedding models”| Model | ID | Dimensions |
|---|---|---|
| Text Embedding 3 Small | openai/text-embedding-3-small | 1536 |
| Text Embedding 3 Large | openai/text-embedding-3-large | 3072 |
| Text Embedding Ada 002 | openai/text-embedding-ada-002 | 1536 |
Configuration
Section titled “Configuration”PUT /v1/{app_id}/ai/config
{ "defaultModel": "anthropic/claude-3.5-sonnet", "byokKey": "sk-or-...", "maxTokensPerRequest": 4096, "allowedModels": ["anthropic/claude-3.5-sonnet"]}| Field | Description |
|---|---|
defaultModel | Model used when none specified |
byokKey | Your OpenRouter API key (encrypted) |
maxTokensPerRequest | Token limit per request (1-100,000) |
allowedModels | Restrict allowed models |
GET /v1/{app_id}/ai/usage?startDate=2026-01-01&endDate=2026-01-31Response:
{ "totalTokens": 150000, "totalCost": 0.45, "byModel": { "anthropic/claude-3.5-sonnet": { "tokens": 120000, "cost": 0.40, "requests": 25 } }}