Langsung ke konten
APMIX.AI

Dokumentasi

Dua baris. Tool apa pun.

Setiap tool di bawah membutuhkan dua hal yang sama: base URL apmix dan kunci API Anda. Tempel kunci Anda sekali, dan semua snippet di halaman ini siap disalin.

Base URL

  • https://api.apmix.ai/v1Kompatibel OpenAI

    Chat Completions dan Responses. Codex, Cursor, OpenCode, Pi, Kimi, Grok, Hermes, dan SDK.

  • https://api.apmix.aiKompatibel Anthropic

    Messages API. Claude Code dan SDK Anthropic.

Pengaturan Anda

Dapatkan kunci
base_url
https://api.apmix.ai
api_key
apx_live_YOUR_KEY
model
claude-sonnet-5

Pilih tool Anda

11 tool

  1. Instal Claude Code

    Membutuhkan Node.js 18 atau lebih baru. Lewati jika sudah terpasang di komputer Anda.

    Terminal
    npm install -g @anthropic-ai/claude-code
  2. Arahkan ke apmix

    Claude Code memakai protokol Anthropic, jadi base URL-nya tanpa /v1. Atur ketiga variabel ini di terminal tempat Anda menjalankannya.

    export ANTHROPIC_BASE_URL="https://api.apmix.ai"
    export ANTHROPIC_AUTH_TOKEN="apx_live_YOUR_KEY"
    export ANTHROPIC_MODEL="claude-sonnet-5"

    Tempel kunci Anda di atas untuk mengisi bagian ini

  3. Jadikan permanen

    Masukkan nilai yang sama ke ~/.claude/settings.json supaya setiap terminal baru langsung siap. Skrip ini mencadangkan file yang ada terlebih dahulu; jika Anda sudah punya pengaturan, gabungkan blok env ke dalamnya alih-alih mengganti filenya.

    mkdir -p ~/.claude
    [ -f ~/.claude/settings.json ] && cp ~/.claude/settings.json ~/.claude/settings.json.bak
    cat > ~/.claude/settings.json <<'EOF'
    {
      "env": {
        "ANTHROPIC_BASE_URL": "https://api.apmix.ai",
        "ANTHROPIC_AUTH_TOKEN": "apx_live_YOUR_KEY",
        "ANTHROPIC_MODEL": "claude-sonnet-5"
      }
    }
    EOF

    Tempel kunci Anda di atas untuk mengisi bagian ini

  4. Jalankan

    Jalankan Claude Code di dalam proyek Anda. Ganti model kapan saja dengan /model, memakai ID Claude apa pun dari katalog.

    Terminal
    cd your-project
    claude

Verifikasi

Pastikan kunci berfungsi.

Tampilkan daftar model yang bisa dijangkau kunci Anda. Jika kembali daftar JSON, berarti kunci dan URL sudah benar; jika 401, kunci salah atau sudah kedaluwarsa.

curl https://api.apmix.ai/v1/models -H "Authorization: Bearer apx_live_YOUR_KEY"

Tempel kunci Anda di atas untuk mengisi bagian ini

Tool Anda tidak ada di daftar?

Tool apa pun yang mengizinkan Anda mengatur base URL OpenAI atau Anthropic bisa dipakai dengan apmix. Cari kolom Base URL atau Custom provider, tempel URL dan kunci Anda, lalu gunakan ID model dari katalog.

Masih buntu? Email support@apmix.ai dengan nama tool dan ID permintaan Anda.

Error

Setiap error, kodenya, dan apa yang harus dilakukan.

API menjawab dengan status HTTP standar dan body JSON yang menyebutkan errornya. Nilai code tidak pernah berubah, jadi Anda bisa mencocokkannya; message ditulis untuk dibaca manusia. Setiap respons juga membawa header x-apmix-request-id — sebutkan header itu saat menulis ke support@apmix.ai.

Dua bentuk, tergantung endpoint

Endpoint kompatibel OpenAI (/v1/chat/completions, /v1/responses, /v1/models, /v1/usage)
HTTP/1.1 429 Too Many Requests
x-apmix-request-id: req_5b1f…

{
  "error": {
    "message": "Your monthly allowance is used up. …",
    "type": "insufficient_quota",
    "code": "allowance_exhausted",
    "param": null
  }
}
Endpoint kompatibel Anthropic (/v1/messages, /v1/messages/count_tokens)
HTTP/1.1 429 Too Many Requests
x-apmix-request-id: req_5b1f…

{
  "type": "error",
  "error": {
    "type": "rate_limit_error",
    "message": "Your monthly allowance is used up. …",
    "code": "allowance_exhausted"
  }
}
400Permintaan tidak valid
  • invalid_json

    invalid_request_error

    Kapan terjadi: Body permintaan tidak bisa diurai sebagai JSON.

    Yang harus dilakukan: Periksa tanda kutip, koma, dan header Content-Type: application/json.

  • missing_model

    invalid_request_error

    Kapan terjadi: Permintaan tidak punya field model.

    Yang harus dilakukan: Tambahkan ID model dari katalog, mis. claude-sonnet-4-6-free.

  • bad_request

    invalid_request_error

    Kapan terjadi: Model menolak sebuah parameter (tipe salah, opsi tidak didukung, konten terlalu panjang).

    Yang harus dilakukan: Baca message; isinya mengulang alasan dari model. Perbaiki parameternya dan kirim ulang.

401Autentikasi
  • missing_api_key

    authentication_error

    Kapan terjadi: Tidak ada kunci yang dikirim. Setiap endpoint membutuhkannya, termasuk GET /v1/models, karena katalog dibatasi sesuai paket Anda.

    Yang harus dilakukan: Kirim Authorization: Bearer apx_live_… (atau x-api-key pada endpoint Anthropic).

  • invalid_api_key

    authentication_error

    Kapan terjadi: Kunci tidak ada atau sudah dihapus.

    Yang harus dilakukan: Salin lagi dari Dashboard → Kunci API, atau buat yang baru.

  • key_expired

    authentication_error

    Kapan terjadi: Kunci sudah melewati tanggal kedaluwarsa yang Anda tetapkan saat membuatnya.

    Yang harus dilakukan: Buat kunci baru; masa berlaku tidak bisa diperpanjang.

403Izin
  • model_not_in_plan

    permission_error

    Kapan terjadi: Model ada, tetapi di atas paket Anda. Pada uji coba gratis, hanya claude-sonnet-4-6-free yang terbuka. message menyebutkan modelnya, paket yang dibutuhkan, dan paket yang dipakai kunci Anda.

    Yang harus dilakukan: Panggil GET /v1/models dengan kunci yang sama — hanya model yang bisa dipanggil paket Anda yang ditampilkan — atau upgrade di Dashboard → Tagihan.

  • account_suspended

    permission_error

    Kapan terjadi: Akun ditangguhkan karena melanggar ketentuan.

    Yang harus dilakukan: Email support@apmix.ai dari alamat yang terdaftar di akun.

404Tidak ditemukan
  • model_not_found

    not_found_error

    Kapan terjadi: ID model tidak dikenal atau sudah dipensiunkan.

    Yang harus dilakukan: Gunakan ID dari /v1/models atau halaman Model. Prefiks vendor seperti anthropic/ diterima.

  • not_found

    not_found_error

    Kapan terjadi: Path atau metode tidak ada.

    Yang harus dilakukan: Gunakan POST /v1/chat/completions, POST /v1/responses, POST /v1/messages, GET /v1/models, atau GET /v1/usage.

429Batas
  • allowance_exhausted

    insufficient_quota · rate_limit_error

    Kapan terjadi: Token berbobot bulanan Anda sudah habis. Nilai type-nya insufficient_quota, sama seperti OpenAI.

    Yang harus dilakukan: Upgrade di Dashboard → Tagihan, atau tunggu tanggal perpanjangan yang tertera di halaman Ringkasan.

  • daily_limit_reached

    rate_limit_error

    Kapan terjadi: Anda mencapai batas harian yang Anda tetapkan sendiri di Pengaturan → Batas.

    Yang harus dilakukan: Naikkan atau hapus batasnya, atau tunggu tengah malam UTC.

  • weekly_limit_reached

    rate_limit_error

    Kapan terjadi: Anda mencapai batas mingguan yang Anda tetapkan sendiri di Pengaturan → Batas.

    Yang harus dilakukan: Naikkan atau hapus batasnya, atau tunggu Senin 00:00 UTC.

  • rate_limit_exceeded

    rate_limit_error

    Aman untuk dicoba lagi

    Kapan terjadi: Lebih dari 60 permintaan dalam satu menit pada satu kunci.

    Yang harus dilakukan: Tunggu selama retry-after detik. Sebarkan pekerjaan berat ke beberapa kunci.

  • upstream_rate_limited

    rate_limit_error

    Aman untuk dicoba lagi

    Kapan terjadi: Model itu sendiri sedang penuh saat ini.

    Yang harus dilakukan: Coba lagi dengan back-off (1s, 2s, 4s). Tidak ada yang ditagih.

502Upstream
  • upstream_error

    api_error

    Aman untuk dicoba lagi

    Kapan terjadi: Model mengembalikan jawaban yang rusak atau tidak terduga.

    Yang harus dilakukan: Coba lagi sekali; jika terulang, coba model lain. Tidak ada yang ditagih.

503Tidak tersedia
  • upstream_unavailable

    api_error · overloaded_error

    Aman untuk dicoba lagi

    Kapan terjadi: Model kehabisan waktu (timeout) atau sedang dalam pemeliharaan.

    Yang harus dilakukan: Coba lagi sesaat kemudian atau ganti model. Tidak ada yang ditagih.

  • no_provider

    api_error · overloaded_error

    Aman untuk dicoba lagi

    Kapan terjadi: Model tidak punya rute aktif di sisi kami (jarang terjadi, saat pemeliharaan).

    Yang harus dilakukan: Coba lagi dalam beberapa menit atau pilih model lain.

Error yang ditandai “aman untuk dicoba lagi” bersifat sementara: tunggu satu atau dua detik, lalu kirim permintaan yang sama lagi (kebanyakan SDK melakukannya otomatis pada 429 dan 5xx). Selain itu, semuanya butuh perubahan di sisi Anda dulu.

Header respons yang berguna

x-apmix-request-id
ID unik permintaan ini. Sertakan saat Anda mengirim email ke support@apmix.ai.
x-apmix-remaining
Sisa token berbobot di kuota bulanan Anda setelah permintaan ini.
x-apmix-weighted-tokens
Biaya permintaan ini, setelah pengali model.
retry-after
Detik yang harus ditunggu; dikirim bersama rate_limit_exceeded.