Endpoint Gateway
Spesifikasi teknis seluruh endpoint resmi Clouvia Router. Gateway kami beroperasi di atas base URL https://router.clouvia.id/v1 dengan enkripsi TLS 1.3 dan kepatuhan penuh terhadap kontrak OpenAI API.
Ringkasan Seluruh Endpoint
1. POST /v1/chat/completions
Endpoint utama untuk eksekusi dialog dan penalaran kognitif. Mendukung parameter standar OpenAI seperti model, messages, temperature, max_tokens, serta stream: true untuk streaming token waktu nyata.
Parameter Request Body (JSON)
1curl https://router.clouvia.id/v1/chat/completions \2 -H "Authorization: Bearer $CLOUVIA_API_KEY" \3 -H "Content-Type: application/json" \4 -d '{5 "model": "coding-high",6 "messages": [7 {"role": "system", "content": "Kamu asisten arsitektur teknis."},8 {"role": "user", "content": "Jelaskan perbedaan TCP dan UDP secara singkat."}9 ],10 "temperature": 0.3,11 "max_tokens": 102412 }'1{2 "id": "chatcmpl-01M2K5X1XN6R84VPVADSG0THDM",3 "object": "chat.completion",4 "created": 1726462800,5 "model": "coding-high",6 "choices": [7 {8 "index": 0,9 "message": {10 "role": "assistant",11 "content": "TCP adalah protokol connection-oriented yang menjamin urutan dan keutuhan paket data (reliable). UDP adalah protokol connectionless yang memprioritaskan kecepatan tanpa mekanisme handshake atau retransmisi (unreliable)."12 },13 "finish_reason": "stop"14 }15 ],16 "usage": {17 "prompt_tokens": 28,18 "completion_tokens": 46,19 "total_tokens": 7420 }21}2. GET /v1/models
Mengambil daftar seluruh model kecerdasan buatan aktif yang dapat dipanggil oleh API key Anda. Kompatibel penuh dengan pemanggilan method client.models.list() di SDK resmi OpenAI.
1curl https://router.clouvia.id/v1/models \2 -H "Authorization: Bearer $CLOUVIA_API_KEY"1{2 "object": "list",3 "data": [4 {5 "id": "coding-high",6 "object": "model",7 "created": 1726462800,8 "owned_by": "clouvia",9 "permission": [],10 "root": "coding-high",11 "parent": null12 },13 {14 "id": "claude-opus-4.6",15 "object": "model",16 "created": 1726462800,17 "owned_by": "anthropic",18 "permission": [],19 "root": "claude-opus-4.6",20 "parent": null21 },22 {23 "id": "gpt-5.6-luna",24 "object": "model",25 "created": 1726462800,26 "owned_by": "openai",27 "permission": [],28 "root": "gpt-5.6-luna",29 "parent": null30 }31 ]32}Cek saldo token via API key
Gunakan GET /v1/balance dengan API key milik akun. Isi environment variable CLOUVIA_API_KEY pada server Anda. Tidak perlu login browser, cookie, CSRF, atau scope baru. Jangan kirim secret lewat URL atau query parameter.
1curl https://router.clouvia.id/v1/balance \2 -H "Authorization: Bearer $CLOUVIA_API_KEY"1{2 "key_prefix": "clv_live_example",3 "last4": "demo",4 "name": "Example key",5 "scopes": ["chat.completions", "models.read"],6 "status": "active",7 "balance": "1000000.000000",8 "free_balance": "5000000.000000",9 "total_balance": "6000000.000000",10 "unit": "token",11 "rate_limits": { "rpm": 100, "daily_limit": null },12 "expires_at": null13}Semua API key pada akun yang sama membaca saldo yang sama langsung dari database. Endpoint ini hanya membaca: tidak memanggil model AI dan tidak mendebit token. Respons memakai Cache-Control: private, no-store.
Nilai saldo berupa string desimal dengan 6 angka di belakang titik agar presisi tetap terjaga. Saldo negatif tetap ditampilkan jika akun memiliki defisit. Saldo gratis tidak menggantikan saldo berbayar.
Field respons
Alias /api/v1/balance dan endpoint lama /v1/key/introspect atau /api/v1/key/introspect mengembalikan struktur yang sama. Field balance lama tetap berupa string.
1curl https://router.clouvia.id/api/v1/balance \2 -H "Authorization: Bearer $CLOUVIA_API_KEY"1curl https://router.clouvia.id/v1/key/introspect \2 -H "Authorization: Bearer $CLOUVIA_API_KEY"HTTP 401: header tidak ada, key invalid, KEY_REVOKED, KEY_EXPIRED, atau KEY_DISABLED. HTTP 403: ACCOUNT_SUSPENDED atau IP_NOT_ALLOWED. Respons error menggunakan object error dengan code dan message. Tidak ada saldo yang ditampilkan jika autentikasi gagal.