Referensi API
Referensi API
API publik Laras Router, dibuat dari kontrak OpenAPI kami. Kompatibel dengan OpenAI dan diautentikasi dengan API key.
API publik mengikuti format OpenAI Chat Completions, jadi SDK resmi OpenAI dan sebagian besar klien yang kompatibel dengan OpenAI bisa langsung dipakai tanpa perubahan. API ini juga melayani format Anthropic Messages di POST /v1/messages, untuk Claude Code dan SDK Anthropic.
Base URL
https://api.larasrouter.com/v1
Semua request memakai HTTPS. Body request dan respons berformat JSON (application/json); respons streaming memakai Server-Sent Events (text/event-stream). Prompt besar didukung hingga batas ukuran request; body yang lebih besar ditolak dengan 413 request_too_large.
Autentikasi
Kirim API key Anda di salah satu header berikut:
Authorization: Bearer lr_live_…
x-api-key: lr_live_…
Lihat Autentikasi untuk pengelolaan kunci.
Endpoint
/v1/modelsDaftar modelGET/v1/models/{id}Ambil satu modelPOST/v1/chat/completionsMembuat chat completionPOST/v1/messagesMembuat messageDibuat dari kontrak OpenAPI, versi 0.1.0.
Error
Setiap error memakai format error OpenAI, kecuali error dari POST /v1/messages yang memakai format Anthropic (lihat Messages). Buat logika berdasarkan error.code, jangan berdasarkan teks pesan: pesan berbahasa Inggris secara default dan berbahasa Indonesia jika request membawa Accept-Language: id.
{
"error": {
"message": "Saldo tidak mencukupi. Isi ulang saldo untuk melanjutkan.",
"type": "insufficient_quota",
"code": "insufficient_credit",
"param": null
}
}
errorobjectwajibObjek error.
messagestringwajibPesan yang bisa dibaca manusia. Bahasa Inggris secara default; Bahasa Indonesia dengan
Accept-Language: id. Jangan jadikan dasar logika.typestringwajibKategori error, misalnya
invalid_request_erroratauinsufficient_quota.codestringwajibKode stabil yang bisa dibaca mesin. Gunakan ini untuk logika.
paramstring | nullParameter request yang dimaksud error, atau
null.
Selain error yang tercantum di setiap endpoint, semua path /v1 juga bisa mengembalikan error gateway berikut:
| Status | Kode | Tipe | Arti |
|---|---|---|---|
| 404 | not_found | invalid_request_error | Endpoint tidak dikenal. Periksa path; base URL berakhiran /v1. |
| 405 | method_not_allowed | invalid_request_error | Metode HTTP tidak diizinkan untuk endpoint ini. |
| 413 | request_too_large | invalid_request_error | Body request melebihi batas ukuran request. Persingkat prompt atau riwayat percakapan. |
| 429 | ip_rate_limited | rate_limit_exceeded | Terlalu banyak request dari satu alamat IP. Tunggu sesuai Retry-After. |
| 500 | internal_error | api_error | Kesalahan server yang tidak terduga. Coba lagi dengan backoff. |
| 503 | service_unavailable | api_error | Layanan sementara tidak tersedia. Coba lagi dengan backoff. |
Lihat Error & retry untuk langkah yang perlu diambil pada setiap kode.
Header respons
| Header | Deskripsi |
|---|---|
X-Laras-Request-ID | Identitas penagihan request. Ada di respons untuk request yang sudah sampai ke tahap billing; sertakan saat Anda menghubungi support soal tagihan. |
Retry-After | Di respons 429: jumlah detik yang perlu ditunggu sebelum mencoba lagi. |
Belum tersedia
API ini melayani POST /v1/chat/completions, POST /v1/messages, dan GET /v1/models. Endpoint OpenAI lainnya — seperti embeddings, images, audio, dan Responses API — belum tersedia. Responses API (dipakai Codex CLI) sedang dalam pengembangan.