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-KEY

Belum 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

ParameterTipeWajibKeterangan
modelstringYaID lengkap model, mis. MODEL_ID. Lihat GET /v1/models buat daftar yang aktif.
messagesarrayYaDaftar pesan dengan role (system, user, assistant) dan content.
streambooleanTidakDefault false. Isi true buat menerima jawaban sebagai server-sent events, token per token.
temperaturenumberTidakSeberapa 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.