Referensi API Hostlinku
Satu endpoint kompatibel dengan OpenAI, semua model. Bangun sesuatu hari ini, luncurkan ke production minggu ini.
Langkah 1
Mulai cepat
Instal SDK OpenAI, pasang kunci API Hostlinku, dan buat permintaan dalam waktu 30 detik. Hostlinku kompatibel dengan OpenAI, jadi SDK yang sudah kamu kenal bisa langsung dipakai.
# Install SDK pilihan kamu
npm install openai
# atau
pip install openaiimport OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.hostlinku.dev/v1",
apiKey: process.env.HOSTLINKU_API_KEY,
});
const reply = await client.chat.completions.create({
model: "claude-sonnet-4-5",
messages: [
{ role: "user", content: "Beri saya satu kalimat pitch untuk Hostlinku." },
],
});
console.log(reply.choices[0].message.content);Selesai. Panggilan yang sama berlaku untuk semua model di marketplace — cukup ganti string model.
Autentikasi
Autentikasi
Setiap permintaan ke API Hostlinku harus menyertakan token Bearer di header Authorization. Buat kunci di dasbor pada bagian Kunci API dan simpan sebagai environment variable — jangan commit ke source.
export HOSTLINKU_API_KEY="sk-••••••••••••••••"
# atau di .env.local — pastikan .env masuk .gitignorecurl https://api.hostlinku.dev/v1/models \
-H "Authorization: Bearer $HOSTLINKU_API_KEY"Perlakukan kunci API seperti kata sandi.
Rotate segera jika pernah muncul di log, screenshot, atau version control. Hostlinku tidak pernah meminta kunci API kamu di luar dasbor.
Endpoint
Endpoint API
Semua endpoint disajikan melalui HTTPS dari base URL yang sama. Awalan /v1mengunci permukaan API yang kompatibel dengan OpenAI. Kami tidak pernah menggulirkan breaking change di versi yang sama.
Referensi
Chat completions
Endpoint chat completions menerima daftar pesan dan mengembalikan balasan model. Berikut panggilan yang sama dalam tiga bahasa.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.hostlinku.dev/v1",
apiKey: process.env.HOSTLINKU_API_KEY,
});
const reply = await client.chat.completions.create({
model: "claude-sonnet-4-5",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Ringkas artikel ini dalam tiga poin." },
],
temperature: 0.3,
max_tokens: 512,
});
console.log(reply.choices[0].message.content);import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.hostlinku.dev/v1",
api_key=os.environ["HOSTLINKU_API_KEY"],
)
reply = client.chat.completions.create(
model="claude-sonnet-4-5",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Ringkas artikel ini dalam tiga poin."},
],
temperature=0.3,
max_tokens=512,
)
print(reply.choices[0].message.content)curl https://api.hostlinku.dev/v1/chat/completions \
-H "Authorization: Bearer $HOSTLINKU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "Ringkas artikel ini dalam tiga poin." }
],
"temperature": 0.3,
"max_tokens": 512
}'Model
Pemilihan model
Pilih model yang sesuai dengan tugas. Tabel di bawah menunjukkan rekomendasi tim Hostlinku saat ini — ubah field model untuk berpindah kapan saja.
| Model | Penyedia | Konteks | Masuk / M | Keluar / M |
|---|---|---|---|---|
| Claude Opus 5.5 | Anthropic | 1M | $15.00 | $75.00 |
| Claude Sonnet 5.5 | Anthropic | 1M | $3.00 | $15.00 |
| GPT-6.1 Sol | OpenAI | 400K | $10.00 | $40.00 |
| GPT-6 Astra | OpenAI | 400K | $12.00 | $60.00 |
| Gemini 3.8 Flash | 1M | $0.50 | $3.00 |
Kamu juga bisa memakai salah satu dari 20+ model di marketplace — lihat katalog lengkap dengan harga dan kemampuan per model.
Streaming
Streaming
Stream respons sebagai Server-Sent Events dengan mengatur stream: true. Bentuknya sama dengan protokol streaming OpenAI, jadi bisa langsung dipakai di UI mana pun yang sudah konsumsi stream OpenAI.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.hostlinku.dev/v1",
apiKey: process.env.HOSTLINKU_API_KEY,
});
const stream = await client.chat.completions.create({
model: "claude-sonnet-4-5",
stream: true,
messages: [
{ role: "user", content: "Tulis haiku tentang routing model." },
],
});
for await (const chunk of stream) {
const delta = chunk.choices[0]?.delta?.content ?? "";
process.stdout.write(delta);
}curl https://api.hostlinku.dev/v1/chat/completions \
-H "Authorization: Bearer $HOSTLINKU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"stream": true,
"messages": [{ "role": "user", "content": "Hi" }]
}'Keamanan
Kunci API
Buat kunci per environment (production, staging, mobile) dan scope-kan masing-masing ke endpoint yang benar-benar dipakai. Rotate kunci setiap kuartal, atau segera jika bocor.
- Buka Kunci API di dasbor dan klik Buat kunci.
- Beri nama (mis.
production-web), pilih scope, lalu salin secret-nya. Kami hanya menampilkan secret lengkap sekali. - Simpan di secrets manager atau environment — jangan commit ke git.
- Gunakan dasbor untuk rotate atau revoke kunci. Kunci yang di-revoke akan gagal dengan
401pada panggilan berikutnya.
Tips: scope sempit
Scope chat sudah cukup untuk UI chat. Pakai chat:read untuk job monitoring dan chat:write untuk traffic production.
Limit
Penggunaan & rate limit
Setiap request yang berhasil dihitung terhadap dua limit: permintaan per menit dan token per menit. Concurrency dibatasi per kunci, bukan per workspace.
| Paket | RPM | TPM | Concurrency |
|---|---|---|---|
| Gratis | 60 | 200K | 5 |
| Bayar sesuai penggunaan | 200 | 500K | 25 |
| Pro | 600 | 2M | 100 |
| Enterprise | Custom | Custom | Custom |
Butuh limit lebih tinggi? Upgrade ke Pro atau hubungi kami untuk paket Enterprise. Dasbor menampilkan rate limit terkini untuk setiap kunci.
Error
Penanganan error
Hostlinku mengembalikan kode status HTTP standar lengkap dengan body JSON berisi error.code dan error.message. Request yang gagal di-refund otomatis.
| Kode | Artinya |
|---|---|
| 200 | Permintaan berhasil. |
| 400 | Permintaan Tidak Valid — biasanya JSON keliru atau field yang hilang. |
| 401 | Tidak Terautentikasi — kunci API tidak ada atau tidak valid. |
| 403 | Akses Ditolak — kunci tidak memiliki scope yang dibutuhkan. |
| 404 | Tidak Ditemukan — model atau endpoint tidak ada. |
| 429 | Terlalu Banyak Permintaan — rate limit atau concurrency tercapai, mundur dan coba lagi. |
| 500 | Kesalahan Server Internal — error tak terduga di sisi kami, sudah dicoba ulang; aman untuk retry sekali setelah 1 detik. |
| 502 | Gateway Buruk — semua penyedia upstream untuk model ini bermasalah; coba model lain atau coba lagi nanti. |
| 503 | Layanan Tidak Tersedia — jendela pemeliharaan, cek status page untuk ETA. |
| 504 | Gateway Timeout — permintaan melebihi batas waktu upstream. |
FAQ
Pertanyaan yang sering diajukan
Siap kirim ke production?
5 USD kredit gratis, tanpa kartu kredit.
Tips pro: request yang gagal di-refund. Gunakan log request di dasbor untuk memeriksa setiap panggilan.
Dokumentasi yang dihasilkan valid per rilis Hostlinku terbaru. Sumber sebenarnya ada di changelog dasbor.