Dokumentasi

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.

terminal
# Install SDK pilihan kamu
npm install openai
# atau
pip install openai
quickstart.ts
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: "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.

terminal
export HOSTLINKU_API_KEY="sk-••••••••••••••••"
# atau di .env.local — pastikan .env masuk .gitignore
terminal
curl 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.

Hosthttps://api.hostlinku.dev
Jalur dasar/v1
Versi APIv1 · Kompatibel dengan OpenAI
Tipe kontenapplication/json

Referensi

Chat completions

Endpoint chat completions menerima daftar pesan dan mengembalikan balasan model. Berikut panggilan yang sama dalam tiga bahasa.

example.ts
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);
example.py
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)
terminal
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.

ModelPenyediaKonteksMasuk / MKeluar / M
Claude Opus 5.5Anthropic1M$15.00$75.00
Claude Sonnet 5.5Anthropic1M$3.00$15.00
GPT-6.1 SolOpenAI400K$10.00$40.00
GPT-6 AstraOpenAI400K$12.00$60.00
Gemini 3.8 FlashGoogle1M$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.

stream.ts
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);
}
terminal
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.

  1. Buka Kunci API di dasbor dan klik Buat kunci.
  2. Beri nama (mis. production-web), pilih scope, lalu salin secret-nya. Kami hanya menampilkan secret lengkap sekali.
  3. Simpan di secrets manager atau environment — jangan commit ke git.
  4. Gunakan dasbor untuk rotate atau revoke kunci. Kunci yang di-revoke akan gagal dengan 401 pada 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.

PaketRPMTPMConcurrency
Gratis60200K5
Bayar sesuai penggunaan200500K25
Pro6002M100
EnterpriseCustomCustomCustom

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.

KodeArtinya
200Permintaan berhasil.
400Permintaan Tidak Valid — biasanya JSON keliru atau field yang hilang.
401Tidak Terautentikasi — kunci API tidak ada atau tidak valid.
403Akses Ditolak — kunci tidak memiliki scope yang dibutuhkan.
404Tidak Ditemukan — model atau endpoint tidak ada.
429Terlalu Banyak Permintaan — rate limit atau concurrency tercapai, mundur dan coba lagi.
500Kesalahan Server Internal — error tak terduga di sisi kami, sudah dicoba ulang; aman untuk retry sekali setelah 1 detik.
502Gateway Buruk — semua penyedia upstream untuk model ini bermasalah; coba model lain atau coba lagi nanti.
503Layanan Tidak Tersedia — jendela pemeliharaan, cek status page untuk ETA.
504Gateway 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.