# API — Error Codes > **Terakhir Diperbarui:** 2026-06-29 --- ## HTTP Status Codes | Code | Keterangan | Penyebab Umum | |------|------------|---------------| | 200 | OK | Request berhasil | | 201 | Created | Resource baru dibuat | | 204 | No Content | Berhasil, tanpa body (misal DELETE) | | 400 | Bad Request | Request tidak valid | | 401 | Unauthorized | Token tidak ada, expired, atau salah | | 403 | Forbidden | Token valid tapi tidak punya scope | | 404 | Not Found | Resource tidak ditemukan | | 422 | Unprocessable Entity | Validasi gagal | | 429 | Too Many Requests | Rate limit terlampaui | | 500 | Internal Server Error | Error server | --- ## Format Error Response ```json { "message": "Deskripsi error", "errors": { "field_name": ["Validasi pesan 1", "Validasi pesan 2"] } } ``` **Untuk 401/403 (tanpa errors field):** ```json { "message": "Unauthenticated." } ``` --- ## Contoh Error **422 Validation:** ```json { "message": "The given data was invalid.", "errors": { "username": ["The username field is required."], "password": ["The password field is required."] } } ``` **401 Unauthorized:** ```json {"message": "Unauthenticated."} ``` **429 Rate Limit:** ```json {"message": "Too Many Attempts."} ``` --- ## Lihat Juga - `geonet-console/docapi/common-error.md` — error codes per service (lebih detail) - `geonet-console/docapi/common-response.md` — format response lengkap