Dokumentasi
API Reference
Base URL: https://api.panglimarouter.xyz. API mengikuti format OpenAI — jadi library openai yang kamu kenal langsung bisa dipakai, tinggal arahkan base_url ke sini.
Autentikasi
Semua endpoint butuh API key lewat header:
Authorization: Bearer PR-KEYBelum punya key? Lihat API Key. Key salah atau hilang → 401 (lihat Limit & Error).
GET /v1/models
Mengembalikan daftar model yang aktif dan bisa kamu pakai saat ini. Pakai ini kalau kamu mau menampilkan pilihan model secara dinamis di aplikasimu.
curl https://api.panglimarouter.xyz/v1/models \
-H "Authorization: Bearer PR-KEY"Contoh response (disingkat):
{
"object": "list",
"data": [
{ "id": "MODEL_ID", "object": "model" },
{ "id": "MODEL_ID_2", "object": "model" }
]
}Selalu pakai ID lengkap (salin dari halaman Model) saat memanggil model. Daftar yang sama, versi web, ada di Model.
POST /v1/chat/completions
Endpoint utama buat chat. Format request dan response mengikuti OpenAI Chat Completions, termasuk stream: true buat streaming token per token.
curl https://api.panglimarouter.xyz/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer PR-KEY" \
-d '{
"model": "MODEL_ID",
"messages": [
{"role": "system", "content": "Kamu asisten yang ringkas."},
{"role": "user", "content": "Jelaskan routing AI dalam 2 kalimat."}
],
"temperature": 0.7
}'Parameter
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
model | string | Ya | ID lengkap model, mis. MODEL_ID. Lihat GET /v1/models buat daftar yang aktif. |
messages | array | Ya | Daftar pesan dengan role (system, user, assistant) dan content. |
stream | boolean | Tidak | Default false. Isi true buat menerima jawaban sebagai server-sent events, token per token. |
temperature | number | Tidak | Seberapa acak jawaban. Nilai kecil = lebih konsisten, nilai besar = lebih kreatif. |
Contoh response
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"model": "MODEL_ID",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Routing AI adalah..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 35,
"total_tokens": 55
}
}Dengan stream: true, response berupa event data: berurutan (SSE) lalu diakhiri data: [DONE]. Contoh implementasi streaming ada di Contoh Kode.