StudioAPI Docs Get a key
View as Markdown
concepts/errors

Common codes

CodeStatusMeaning
MISSING_API_KEY401x-api-key header required.
INVALID_API_KEY401API key not found or revoked.
REVOKED_API_KEY401Key revoked.
RATE_LIMIT_EXCEEDED429Requests/second exceeded for the plan.
QUOTA_EXCEEDED402Monthly quota exceeded.
INSUFFICIENT_CREDITS402Quota exceeded and credit balance empty.
PAYMENT_REQUIRED402x402 offer issued (see x402).
VALIDATION_ERROR400Missing or invalid parameter.
INVALID_QUERY400Search query too short or malformed.
NOT_FOUND404Resource not found.
UPSTREAM_ERROR502Upstream data provider failed and no cache exists.
TURNSTILE_REQUIRED400Turnstile token required.
TURNSTILE_FAILED403Turnstile verification failed.
EMAIL_EXISTS409Email already registered.
EMAIL_NOT_VERIFIED403Verified email required.
INVALID_CREDENTIALS401Bad email or password.
ACCOUNT_SUSPENDED403Account suspended.
UNAUTHORIZED / INVALID_TOKEN401Bad or expired JWT.
FORBIDDEN403Admin route for non-admin.
PAYMENT_NOT_CONFIGURED503Sumopod not configured.
PAYMENT_PROVIDER_ERROR502Sumopod payment link failed.
INVALID_SIGNATURE401Webhook signature invalid.
RATE_LIMITED429Utility dummy-generator per-minute limit (60/min).

Validation details

  • wilayah/search, kodepos/search, cuaca/search: q minimum 2 characters.
  • sekolah/search: q minimum 3 characters.
  • alkitab/search: q minimum 3 characters.
  • kurs / kurs-bi: ISO 4217 codes; history range max 366 days.
  • hijriah/konversi: tanggal must be YYYY-MM-DD; supported year 2026.
  • astronomi: lat ±90, lon ±180.

Upstream errors

Endpoints backed by live providers (cuaca, peringatan-dini, kurs, kurs-bi, halal, bpom) return UPSTREAM_ERROR (502) only when no cached data exists. If stale cache is available, the cached response is served instead.