API Data Penduduk
Selamat datang di dokumentasi API Penduduk Pemerintah Kota Denpasar. API ini menyediakan akses ke data penduduk dilengkapi dengan Paginasi Otomatis dan Pencarian Fleksibel (Unified Search)
Informasi Umum
- Base URL:
https://dev.denpasarkota.go.id/api/v1 - Format Request/Response:
application/json - Otentikasi: Kredensial database dikelola secara terpusat oleh API Gateway. Client frontend melakukan pemanggilan ke endpoint publik menggunakan apikey.
1. Ambil Data Penduduk (List & Paging)
Endpoint ini digunakan untuk mengambil data seluruh penduduk secara bertahap (halaman per halaman). Data secara otomatis diurutkan berdasarkan data terbaru.
/api/v1/pendudukParameter Request (Body JSON)
Seluruh parameter bersifat opsional. Jika tidak dikirim, sistem akan menggunakan nilai default.
| Parameter | Tipe | Default | Deskripsi |
|---|---|---|---|
page_number | Integer | 1 | Halaman data yang ingin ditampilkan. |
page_size | Integer | 10 | Jumlah baris data per halaman. |
Contoh Pemanggilan (cURL)
curl -X POST https://dev.denpasarkota.go.id/api/v1/penduduk \
-H "Content-Type: application/json" \
-d '{
"page_number": 1,
"page_size": 5
}'
2. Pencarian Data (Unified Search)
Endpoint ini sangat fleksibel. Anda bisa mencari data secara spesifik menggunakan NIK, pencarian parsial menggunakan Nama, atau gabungan keduanya untuk filter yang ketat.
/api/v1/penduduk/searchParameter Request (Body JSON)
Anda dapat mengirimkan salah satu atau kedua parameter pencarian.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
p_nik | String | Tidak* | NIK asli warga (16 digit). Pencarian bersifat exact match. |
p_nama | String | Tidak* | Nama warga. Mendukung pencarian sebagian kata (partial match) & mengabaikan huruf besar/kecil. |
page_number | Integer | Tidak | Halaman data (Default: 1). |
page_size | Integer | Tidak | Jumlah data per halaman (Default: 10). |
(Catatan: Minimal kirimkan salah satu dari p_nik atau p_nama untuk melakukan pencarian).
Contoh Pemanggilan: Cari berdasarkan NIK
curl -X POST https://dev.denpasarkota.go.id/api/v1/penduduk/search \
-H "Content-Type: application/json" \
-d '{
"p_nik": "351000000999111"
}'
Contoh Pemanggilan: Cari berdasarkan Nama (Parsial)
curl -X POST https://dev.denpasarkota.go.id/api/v1/penduduk/search \
-H "Content-Type: application/json" \
-d '{
"p_nama": "agung",
"page_number": 1,
"page_size": 10
}'
Struktur Response (Format JSON)
Kedua endpoint di atas akan selalu mengembalikan format JSON yang seragam. Kolom dengan akhiran _alt menandakan bahwa data tersebut telah disensor (Masking).
Contoh Response Sukses (200 OK)
{
"data": [
{
"nik_alt": "351013******0004",
"nama": "AGUNG SEMELEKETE",
"nama_ibu_alt": "SU***",
"no_kk_alt": "35101******0002",
"alamat_alt": "JL. MELA********",
"t_dusun_lingkungan": "DUSUN MAWAR",
"t_desakel": "DESA TULIP",
"t_kec": "DENPASAR SELATAN",
"t_kabkota": "KOTA DENPASAR",
"created_at": "2026-03-09T05:59:16.83381"
}
],
"total": 519619,
"page": 1
}
Penjelasan Atribut Response
data: Array berisi kumpulan objek data penduduk.total: Angka total keseluruhan data yang ada (berguna untuk frontend membuat perhitungan total halaman pada tombol navigasi).page: Nomor halaman yang sedang diakses saat ini.
Kode Status HTTP
| Kode | Keterangan | Solusi / Arti |
|---|---|---|
200 OK | Sukses | Permintaan berhasil diproses dan mengembalikan data. |
400 Bad Request | Input Tidak Valid | Pastikan tipe data pada Body JSON sudah benar (misal: angka tidak memakai tanda kutip). |
404 Not Found | Rute Tidak Ditemukan | Pastikan URL endpoint sudah benar dan menggunakan method POST. |
500 Internal Error | Kesalahan Server | Terjadi kendala pada koneksi ke database utama. |