HERAXLES
Beranda
Daftar isi dokumentasi

Dokumentasi API

Mulai cepat

Base URL https://heraxles.dev/v1
Autentikasi Authorization: Bearer YOUR_API_KEY
Format application/json

Pasang otomatis

Claude Code curl -fsSL https://heraxles.dev/setup/claude-code.sh | sh
Codex CLI curl -fsSL https://heraxles.dev/setup/codex.sh | sh
OpenCode curl -fsSL https://heraxles.dev/setup/opencode.sh | sh
Hermes curl -fsSL https://heraxles.dev/setup/hermes.sh | sh

Autentikasi

Authorization: Bearer hx_xxxxxxxxxxxxxxxxxxxx
x-api-key: hx_xxxxxxxxxxxxxxxxxxxx   # alternatif

Daftar model

curl https://heraxles.dev/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"

Chat completions

POST /v1/chat/completions

Parameter Tipe Keterangan
modelstring
messagesarray
streamboolean
max_tokensinteger
temperaturenumber
toolsarray

Contoh request

curl https://heraxles.dev/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-astra",
    "messages": [
      {"role": "system", "content": "Jawab singkat dalam Bahasa Indonesia."},
      {"role": "user", "content": "Jelaskan apa itu API dalam 2 kalimat."}
    ],
    "max_tokens": 300,
    "stream": true
  }'

Bentuk jawaban

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "gpt-6-astra",
  "choices": [{
    "index": 0,
    "message": {"role": "assistant", "content": "..."},
    "finish_reason": "stop"
  }],
  "usage": {"prompt_tokens": 42, "completion_tokens": 128, "total_tokens": 170}
}

Streaming

data: {"choices":[{"delta":{"content":"Se"}}]}
data: {"choices":[{"delta":{"content":"buah"}}]}
data: {"choices":[{"delta":{},"finish_reason":"stop"}],
       "usage":{"total_tokens":170}}
data: [DONE]

Function calling

{
  "model": "gpt-6-astra",
  "messages": [{"role": "user", "content": "Cuaca Jakarta?"}],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Ambil cuaca sebuah kota",
      "parameters": {
        "type": "object",
        "properties": {"city": {"type": "string"}},
        "required": ["city"]
      }
    }
  }]
}

/v1/responses

curl https://heraxles.dev/v1/responses \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-6-astra","input":"Halo","stream":true}'

Endpoint dashboard & bridge

EndpointMethodKegunaan
/v1/messagesPOST
/v1/usageGET
/v1/usage/detailGET
/v1/health-testPOST

Setelan per alat

Cek kuota & masa aktif

Batas & header

HeaderArti
X-RateLimit-Limit
X-RateLimit-Remaining
X-RateLimit-Reset
Retry-After

Batas kecepatan, paralel & paket

  • Perpanjangan tier yang sama otomatis menambah akumulasi sisa masa aktif key. Pergantian ke tier berbeda langsung memakai durasi paket baru pilihan.
  • Booster berlaku 24 jam per pembelian untuk menaikkan slot paralel dan RPM; perpanjangan booster tier yang sama menambah sisa jam; booster hanya aktif selama paket dasar berlaku.
  • Pembelian paket lewat dasbor member langsung aktif otomatis pada API key; voucher dari luar dasbor diklaim manual melalui menu Klaim Voucher.

Slot langganan (kapasitas paket)

Slot adalah kapasitas langganan berbayar yang aktif. Satu slot berarti satu langganan aktif, bukan satu request — ini berbeda dari slot paralel (request bersamaan) di atas.

Jumlah langganan aktif dibatasi agar kapasitas server terbagi rata dan kualitas setiap paket tetap stabil.

Kalau slot penuh, pembeli baru belum bisa melanjutkan pembelian sampai ada slot yang lepas. Tidak ada daftar tunggu; halaman otomatis membuka lagi begitu slot tersedia. Member yang sudah aktif tetap berjalan normal dan tetap dapat memperpanjang paketnya.

Slot sebuah langganan kembali tersedia begitu masa aktifnya berakhir.

Buka Aturan & Ketentuan

Kode error

HTTPcode Penyebab & tindakan
400request_invalid
400model_unavailable
401invalid_api_key
402plan_expired
402insufficient_quota
402service_limited
403model_not_allowed
403model_disabled
429rate_limit
429parallel_limit
429busy
502service_auth
502request_failed
503chat_capacity
503model_unavailable
503unavailable
504timeout
200stream error event
200safety_refusal

Praktik baik

Butuh bantuan?