Guides
Batas laju & kesalahan
Public API per-account rate limits, error response format, status codes and caching guidance.
On this page
Rate limits#
Catatan
API Publik dan MCP terautentikasi berbagi kuota per jam untuk setiap mitra (default 20.000). Menambah atau merotasi kunci tidak menambah kuota.
Jendela 3,600 detik dimulai sejak permintaan pertama; batas per menit juga berlaku. Kuota menghitung jumlah panggilan, bukan MB yang ditransfer. Pengaturan operasional dapat mengubah kuota.
Batch MCP menerima hingga 100 pesan dan setiap pesan dihitung sebagai satu panggilan. Batch yang melebihi kuota tersedia mengembalikan 429 sebelum dieksekusi.
X-RateLimit-Hour-Limit · X-RateLimit-Hour-Remaining · X-RateLimit-Hour-Reset
Header ini menunjukkan batas per jam, sisa panggilan, dan waktu reset (detik Unix). Jika kuota per jam habis, akan dikembalikan HTTP 429 dan Retry-After dalam detik. Panggilan yang ditolak oleh batas per menit tidak dihitung dalam kuota per jam.
Secara default, setiap akun mitra dibatasi 600 permintaan per menit. Jika melebihi, Anda akan menerima 429 rate_limited.
Tip
Status codes#
| HTTP | Arti |
|---|---|
| 200 | Berhasil |
| 400 | Parameter tidak valid |
| 401 invalid_api_key | Kunci tidak ada, salah, atau dicabut |
| 404 | ID eSIM tidak dikenal |
| 429 rate_limited | Batas laju terlampaui |
Error format#
// 401 — missing, invalid or revoked key
{
"error": "invalid_api_key",
"message": "Missing or invalid API key. Create one at https://www.esimoa.com/developers/dashboard"
}
// 429 — too many requests for this key
{ "error": "rate_limited", "message": "Rate limit exceeded (600 requests per minute)." }
// 400 — invalid parameters / 404 — unknown eSIM id
{ "statusCode": 404, "message": "eSIM not found", "error": "Not Found" }Caching#
Harga sering berubah — simpan cache hasil pencarian paling lama beberapa menit.
