Langsung ke konten

Mulai cepat

  1. 1

    Daftar gratis lalu buat API key di dashboard.

  2. 2

    Panggil endpoint mana pun dengan header x-api-key.

cURL
curl -H "x-api-key: ga_live_..." "https://kajidata.artonlabs.com/v1/indonesia:hari-libur/check?date=2026-08-17"

Pola URL: GET https://kajidata.artonlabs.com/v1/{category}:{api}/{endpoint}

Autentikasi

Key juga bisa dikirim lewat Authorization: Bearer … atau parameter query api_key (hindari yang terakhir di produksi karena URL tercatat di log). Tambahkan Accept-Language: id untuk pesan error berbahasa Indonesia.

Format respons

Berhasil
{
  "ok": true,
  "project": "indonesia:hari-libur",
  "endpoint": "check",
  "data": {
    "date": "2026-08-17",
    "is_holiday": true,
    "name": "...",
    "is_weekend": false
  },
  "meta": {
    "request_id": "9f2c1a7b3e5d4c21",
    "timestamp": "2026-11-01T05:05:18+00:00",
    "latency_ms": 300,
    "cached": false,
    "stale": false,
    "cost": 1,
    "quota_remaining": 999,
    "source": "Nager.Date",
    "fetched_at": "2026-11-01T05:05:18+00:00"
  }
}
Gagal
{
  "ok": false,
  "error": {
    "code": "invalid_params",
    "message": "...",
    "details": [
      {
        "loc": [
          "date"
        ],
        "msg": "..."
      }
    ]
  },
  "meta": {
    "request_id": "...",
    "timestamp": "..."
  }
}
KolomArti
meta.cachedtrue: dari cache, tidak ditagih
meta.staletrue: sumber gagal dan ini salinan terakhir yang valid
meta.costkuota yang dipotong request ini
meta.sourcesumber yang benar-benar menjawab
meta.fetched_atkapan data diambil dari sumber

Kode error & penagihan

Yang memotong kuota hanya respons 200 yang diambil langsung dari sumber. Cache hit dan salinan stale gratis.

KodeHTTPDitagih?Arti
missing_api_key401tidakHeader x-api-key tidak ada
invalid_api_key401tidakKey salah atau sudah dicabut
plan_required403tidakAPI butuh paket yang lebih tinggi
not_found404tidakEndpoint atau data (mis. kode wilayah) tidak ada
invalid_params422tidakdetails berisi field yang salah
rate_limited429tidakMelebihi batas request per detik; lihat Retry-After
quota_exceeded429tidakKuota bulan ini habis
upstream_error502tidakSemua sumber gagal dan belum ada salinan tersimpan
upstream_timeout504tidakSumber terlalu lama merespons
unavailable503tidakGateway sedang tidak tersedia; coba lagi nanti

Header respons

X-Request-Id
Sertakan saat menghubungi dukungan.
X-Cache
HIT, MISS, atau STALE.
X-Request-Cost
Kuota yang dipakai request ini.
X-Quota-Remaining
Sisa kuota bulan ini.
X-Latency-Ms
Waktu proses di gateway.
Retry-After
Jumlah detik menunggu setelah error rate_limited.

OpenAPI, SDK, dan agen AI

Gunakan generator seperti openapi-generator untuk membuat klien di bahasa apa pun. Untuk agen AI, lihat Server MCP dan llms.txt.

Anda yakin?