Bangun dengan satu endpoint yang konsisten.

Panduan integrasi untuk API rental berbasis combo, dengan format chat OpenAI-compatible dan pemilihan model dinamis dari katalog akun Anda.

Overview

Endpoint publik tersedia di /v1. Kredensial menentukan combo yang dapat digunakan. Jangan memakai slug provider upstream atau menebak nama model.

Kontrak publik: pilih ID combo dari respons terautentikasi GET /v1/models, lalu kirim ID itu sebagai model.

Quickstart

  1. Simpan API key secara aman.

    Gunakan environment variable atau secret manager; jangan commit key.

  2. Ambil katalog.
    models.shbash
    curl "https://apineza.biz.id/v1/models" \
      -H "Authorization: Bearer sk_rent_xxxxx"

  3. Pilih combo dan kirim chat.

    Ganti YOUR_COMBO_ID persis dengan salah satu nilai data[].id dari langkah sebelumnya.

    chat.shbash
    curl "https://apineza.biz.id/v1/chat/completions" \
      -H "Authorization: Bearer sk_rent_xxxxx" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "YOUR_COMBO_ID",
        "messages": [{"role": "user", "content": "Halo!"}],
        "stream": false
      }'

Authentication

Semua request API, termasuk katalog model, membutuhkan bearer token.

request.shbash
Authorization: Bearer sk_rent_xxxxx

Keamanan: contoh memakai key dummy. Key tidak dibaca dari query string dan tidak dipantulkan ke halaman ini.

List models

GET /v1/models mengembalikan katalog dinamis untuk kredensial Anda. Untuk akses rental publik, gunakan ID combo yang diizinkan, bukan owned_by atau slug provider.

response.jsonJSON
{
  "object": "list",
  "data": [
    {"id": "your-returned-combo", "object": "model", "owned_by": "system"}
  ]
}

Chat completions

POST /v1/chat/completions menerima payload chat OpenAI-compatible.

body.jsonJSON
{
  "model": "YOUR_COMBO_ID",
  "messages": [
    {"role": "system", "content": "Jawab ringkas dan jelas."},
    {"role": "user", "content": "Jelaskan API ini."}
  ],
  "stream": false
}

Streaming

Set stream ke true bila klien Anda mendukung Server-Sent Events. Tangani potongan respons sampai penanda selesai.

Kompatibilitas: route publik yang terverifikasi di codebase ini adalah format OpenAI-compatible. Tidak ada klaim endpoint Messages native. Tool yang hanya menerima API native lain tidak didokumentasikan sebagai didukung.

Platform guides

Semua platform memakai base URL yang sama, key rental, dan ID combo hasil /v1/models.

Cline

  1. Buka pengaturan provider.
  2. Pilih OpenAI Compatible.
  3. Isi Base URL https://apineza.biz.id/v1, API key sk_rent_xxxxx, dan Model ID dengan combo hasil katalog.

Tidak ada path import JSON yang diasumsikan; gunakan field UI resmi.

Errors

401 Unauthorized

Header hilang, format bearer salah, key tidak valid, atau key kedaluwarsa.

Model tidak ditemukan

Ambil ulang /v1/models dan salin ID combo persis. Jangan gunakan nama provider upstream.

429 Too Many Requests

Tunggu sebelum retry. Gunakan exponential backoff dengan jitter dan batasi percobaan.

5xx

Retry hanya operasi yang aman. Simpan status, body error, dan waktu request untuk dukungan; jangan log API key.

FAQ

Apa model aktif?

Tidak ada model aktif yang di-hardcode di dokumentasi. Daftar aktual selalu berasal dari GET /v1/models.

Bolehkah memakai slug provider?

Tidak untuk kontrak rental publik combo-only. Kirim ID combo dari katalog.

Bolehkah key di query string?

Gunakan header Authorization. Query string mudah masuk history, proxy log, dan analytics.