Api.Airforce
PEMECAHAN MASALAH

Sebelum Anda Melaporkan Bug

Sebagian besar "bug" adalah masalah konfigurasi yang dapat Anda perbaiki dalam 60 detik — jalankan daftar periksa ini terlebih dahulu.

Jika ada yang tidak berfungsi, cara tercepat untuk mengetahui apakah masalah ada di sisi Anda atau kami adalah dengan menjalankan permintaan yang sama dari alat berbeda.

Sekitar 9 dari 10 laporan "API bermasalah" ternyata disebabkan oleh base URL yang salah dikonfigurasi, API key yang kedaluwarsa, nama model yang salah, atau bentuk request body dari tutorial yang sudah tiga versi SDK lebih lama.

Uji Mandiri Cepat

Salin perintah curl ini ke terminal. Ganti YOUR_KEY dengan API key Anda dari dashboard lalu jalankan. Jika Anda mendapat respons completion yang normal, berarti API key, jaringan, dan backend kami semuanya sehat — masalah apa pun ada di kode klien atau lingkungan Anda.

cURL

curl https://api.airforce/v1/chat/completions \
  -H "Authorization: Bearer sk-air-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1-mini",
    "messages": [{"role": "user", "content": "ping"}]
  }'
ℹ️
Uji Mandiri Cepat: Tidak punya terminal? Tempelkan model + prompt yang sama ke Playground dari dashboard — efeknya sama, tanpa pengaturan apa pun.

Daftar Periksa Langkah demi Langkah

Apakah API key Anda valid?

Buka Dashboard → API Keys dan konfirmasi bahwa key tersebut cocok dengan yang digunakan kode Anda. Jebakan umum adalah spasi sebelum awalan "sk-air-" akibat salin-tempel.

Gejala: 401 Unauthorized.

Apakah base URL sudah benar?

Base URL harus https://api.airforce/v1 — bukan http, dan akhiran /v1 wajib ada. Tutorial yang dibuat sebelum jalur v1 OpenAI terkadang menghilangkannya.

Gejala: 404 Not Found, atau curl menggantung.

Apakah nama model sudah dieja dengan benar?

ID model bersifat case-sensitive. Kunjungi halaman Models atau panggil GET /v1/models untuk mengonfirmasi ID yang tepat. Kesalahan ketik atau model yang sudah dihentikan akan mengembalikan error yang jelas, bukan "berjalan tapi salah".

Gejala: 400 unknown_model atau 404 model_not_found.

Apakah request body sudah berbentuk dengan benar?

Chat completions menggunakan array messages. Gambar menggunakan prompt + n. Audio TTS menggunakan input + voice. Mengirim body berbentuk chat ke /v1/images/generations akan menghasilkan 400 — mudah terlewat saat menyalin cuplikan antar-dokumentasi.

Gejala: 400 dengan field yang bermasalah disebutkan dalam response body.

Apakah Anda telah mencapai batas kecepatan atau kuota?

429 = terlalu banyak permintaan menit ini. 402 = plan atau saldo Anda habis. Keduanya ditampilkan di Dashboard. Permintaan tier gratis memiliki batas terpisah dari permintaan plan berbayar, sehingga model berbayar mungkin merespons dengan baik sementara yang gratis dibatasi kecepatan.

Gejala: 429 Too Many Requests atau 402 Payment Required.

Apakah model tersebut benar-benar aktif sekarang?

Periksa halaman Models — gangguan penyedia ditampilkan sebagai "degraded" atau "major outage". Jika satu model tidak berfungsi sementara yang lain berjalan, itu adalah masalah di sisi penyedia yang kami tangani, bukan kesalahan klien.

Gejala: model tertentu mengembalikan 5xx sementara yang lain berfungsi.

Arti Kode Status HTTP

Setiap respons error membawa kode status HTTP standar. Mengetahui arti setiap kode menghemat satu tiket.

400Sisi AndaBad Request — JSON tidak terbentuk dengan benar, field wajib tidak ada, parameter tidak dikenal. Perbaiki request body.
401Sisi AndaUnauthorized — API key tidak ada atau tidak valid. Periksa header Authorization menyertakan awalan "Bearer ".
402Sisi AndaPayment Required — plan habis atau saldo Pay-as-you-go kosong. Berlangganan atau isi ulang.
403Sisi AndaForbidden — plan atau izin per-key Anda tidak mengizinkan model atau endpoint ini.
404Sisi AndaNot Found — endpoint atau ID model tidak dikenal. Periksa path URL dan ejaan model.
413Sisi AndaPayload Too Large — input melebihi jendela konteks model. Persingkat prompt.
429Sisi AndaToo Many Requests — dibatasi kecepatan (RPM, RPD, atau batas token harian). Perlambat atau tingkatkan paket.
500Sisi kamiInternal Server Error — bug di sisi kami. Laporkan jika berlanjut lebih dari satu menit.
502Sisi kamiBad Gateway — backend sedang restart (kami melakukan deploy beberapa kali sehari). Tunggu 5–10 detik lalu coba lagi.
503Sisi kamiService Unavailable — setiap penyedia upstream untuk model tersebut gagal sekaligus. Laporkan jika berlangsung lebih dari beberapa menit.
💡
Aturan Umum: Kode 4xx berarti klien Anda melakukan sesuatu yang ditolak server. Kode 5xx berarti kami gagal menangani permintaan yang valid. Body error JSON dalam respons biasanya menyebutkan field yang memicu pemeriksaan.

Ketika Ini Benar-benar Sebuah Bug

Jika uji mandiri curl di atas berhasil tetapi permintaan yang persis sama dari kode Anda tidak, masalahnya ada di klien Anda (atau library yang digunakannya). Jika uji mandiri sendiri gagal dengan 5xx, atau mengembalikan 4xx dengan pesan yang tidak sesuai dengan tampilan permintaan Anda, itu layak untuk dilaporkan.

Cara Melaporkan dengan Efektif

Buka tiket dukungan dari dashboard atau posting di #support di Discord. Sertakan:

  • Kode status HTTP lengkap dan response body (serta header respons cf-ray jika ada).
  • Perkiraan timestamp dalam UTC.
  • Nama model dan endpoint mana yang Anda panggil.
  • cURL minimal yang mereproduksi masalah tersebut (sembunyikan API key asli Anda!).
  • Apakah uji mandiri di atas berhasil untuk Anda pada key yang sama.
ℹ️
Cara Melaporkan dengan Efektif: Tiket yang dikirim dengan detail ini mendapat jawaban nyata pada percobaan pertama. Tiket tanpa detail tersebut hampir selalu membutuhkan bolak-balik sebelum kami dapat membantu.

Tanya di #support di Discord

Bingung saat setup atau mau key gratis? Tanyakan ke komunitas di Discord kami.

Gabung Discord kami