Authentication

Setiap request harus menyertakan bearer token. Nilai token berasal dari API key individual yang dibuat di dashboard, bukan dari satu key global bersama.

Header
Authorization: Bearer $LLM_API_KEY

Environment Variables

env
LLM_API_BASE_URL=https://api.route9.web.id/v1
LLM_API_KEY=sk-<32hex>
LLM_MODEL=gpt-5.4

Payload Dasar

json
{
  "model": "gpt-5.4",
  "messages": [
    {
      "role": "user",
      "content": "Halo, jelaskan API Gateway ini secara singkat."
    }
  ],
  "stream": false
}

Contoh curl

bash
curl https://api.route9.web.id/v1/chat/completions   -H "Authorization: Bearer $LLM_API_KEY"   -H "Content-Type: application/json"   -d '{"model":"gpt-5.4","messages":[{"role":"user","content":"Halo, jelaskan API Gateway ini secara singkat."}],"stream":false}'

Structured Output

json
{
  "model": "gpt-5.4",
  "messages": [
    {
      "role": "user",
      "content": "Kembalikan JSON dengan field ok bernilai true."
    }
  ],
  "stream": false,
  "response_format": {
    "type": "json_object"
  }
}

Error Umum

  • 401 UNAUTHORIZEDKey tidak ada, salah, revoked, disabled, atau expired.
  • 400 INVALID_REQUESTPayload tidak sesuai kontrak gateway.
  • 400 MODEL_NOT_ALLOWEDModel tidak termasuk daftar yang diizinkan gateway.
  • 504 UPSTREAM_TIMEOUTUpstream memerlukan waktu lebih lama dari batas timeout gateway.

Praktik Keamanan

Jangan menaruh API key gateway di frontend browser publik. Gunakan satu key terpisah untuk tiap server, worker, atau backend service yang aman.
1. Buat API key di halaman API Keys.
2. Simpan key sebagai LLM_API_KEY di environment aplikasi.
3. Gunakan base URL https://api.route9.web.id/v1.
4. Kirim request ke /chat/completions dengan header Authorization.
5. Gunakan satu key per user, worker, atau backend service.