Error Codes

Semua error AyoSend menggunakan format JSON yang konsisten.

Format Error

{
  "statusCode": 400,
  "message": "Domain tidak diverifikasi",
  "error": "Bad Request"
}

HTTP Status Codes

StatusKeterangan
200Berhasil
201Berhasil dibuat
400Request tidak valid — cek validasi field
401Tidak terautentikasi — API key salah atau tidak ada
402Kredit tidak cukup — silakan top up
403Tidak punya akses ke resource ini
404Resource tidak ditemukan
429Terlalu banyak request — tunggu sebentar
500Error internal server — hubungi support

Contoh Penanganan Error

const res = await fetch('https://api.ayosend.id/v1/emails', { ... })

if (!res.ok) {
  const error = await res.json()

  if (res.status === 402) {
    // Kredit habis — arahkan ke halaman top up
    console.error('Kredit tidak cukup:', error.message)
  } else if (res.status === 429) {
    // Rate limit — tunggu dan coba lagi
    const retryAfter = res.headers.get('Retry-After') || '60'
    await new Promise(r => setTimeout(r, parseInt(retryAfter) * 1000))
  } else {
    throw new Error(error.message)
  }
}

Rate Limiting

EndpointLimit
POST /v1/emails100 request/menit
GET /v1/emails300 request/menit
Semua endpoint lain60 request/menit