PERUTEAN
Rute provider
Hubungkan API dan tentukan alias untuk tiap model.
Provider terhubung
Kredensial tersimpan di server ini.Memuat rute provider…
Belum ada rute provider
Tambahkan provider API, lalu pasangkan nama modelnya ke alias yang akan dipakai aplikasi.
AKSES
API key
Buat key untuk aplikasi yang akan mengakses endpoint Aspro.
Pemakaian pool provider
Key baru hanya ditampilkan sekali. Salin dan simpan nilainya saat dibuat.
Key aplikasi
0 keyMemuat API key…
Belum ada API key
Buat key untuk mengautentikasi request ke /v1/chat/completions.
AKSES PENGGUNA
Undangan
Berikan akses akun agar pengguna mengelola key miliknya sendiri.
Memuat undangan…
Pengguna terdaftar
0 akunBelum ada pengguna terdaftar.
Kode undangan
Berlaku 7 hari, dapat dipakai berulang sampai dihapusBelum ada undangan yang aktif.
INTEGRASI
Dokumentasi
Arahkan client kompatibel OpenAI ke router lokalmu.
BASE URL
Satu alamat untuk semua client
Gunakan alias model yang disediakan admin sebagai nilai model.
CHAT COMPLETIONS
Kirim request
ALIAS MODEL
Model yang didokumentasikan
Alias ini bisa digunakan setelah admin memetakannya ke model provider yang aktif.
deepseek-v4.1-flashdeepseek-v4.1-flash-turbodeepseek-v4-flash-0731deepseek-v4-flash-0731-turboglm-5.3-flashmimo-v2.6-flash
GET /v1/modelsPerlu Bearer authEndpoint ini menampilkan alias yang saat ini aktif di router.
KOMPATIBILITAS
Client kompatibel OpenAI
Isi base URL client dengan alamat di atas, lalu gunakan Aspro API key sebagai key client. Request memakai format chat completions.
AUTENTIKASI
API key
Semua endpoint /v1/* wajib menyertakan header Authorization Bearer.
Authorization: Bearer aspro_route_...Buat key di tab API key. Key hanya ditampilkan sekali saat dibuat. Tanpa header valid, server merespon 401.
ENDPOINT
Referensi endpoint
GET /v1/modelsList alias model aktifPOST /v1/chat/completionsChat completion JSON & SSE streamIsi field model dengan alias, mis. deepseek-v4.1-flash. Router meneruskannya ke model upstream sesuai mapping provider.
CONTOH
Python & JavaScript
Python (requests)
import requests
r = requests.post(
"https://asprouter.web.id/v1/chat/completions",
headers={
"Authorization": "Bearer $ASPRO_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Halo"}],
},
timeout=120,
)
print(r.json()["choices"][0]["message"]["content"])
JavaScript (fetch)
const r = await fetch("https://asprouter.web.id/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.ASPRO_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "deepseek-v4.1-flash",
messages: [{ role: "user", content: "Halo" }],
}),
});
const data = await r.json();
console.log(data.choices[0].message.content);
Streaming (SSE)
curl https://asprouter.web.id/v1/chat/completions \
-H "Authorization: Bearer $ASPRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4.1-flash","messages":[{"role":"user","content":"Halo"}],"stream":true}'
Aktifkan "stream": true untuk respon Server-Sent Events. Setiap chunk diawali "data: " dan diakhiri "data: [DONE]".
ERROR
Kode error
400Body JSON tidak valid / field model hilang401API key hilang, salah, atau dinonaktifkan403Akun user belum di-assign provider oleh admin404Alias model tidak dikenal429Provider rate-limit; coba lagi nanti502Semua provider untuk model ini sedang tidak tersediaJika satu provider gagal (429/5xx), router otomatis mencoba provider lain yang punya alias sama.