Nodeflux Central
Plate Search

API Reference — Plate Search

Endpoint untuk mencari plat nomor kendaraan melalui event LPR dan integrasi data Korlantas/Polri.

Semua endpoint memerlukan otentikasi. Untuk integrasi, kirim header X-Api-Key: <key> di setiap request tanpa header Authorization. Bearer token (Authorization: Bearer <access_token>, berlaku 30 menit) hanya untuk aplikasi yang menampilkan login Lenz ke penggunanya sendiri dan wajib menyertakan X-Integration-Signature. Basis URL mengikuti variabel lingkungan VITE_API_URL yang dikonfigurasi pada instalasi Lenz. Lihat Otentikasi untuk memilih jalur yang tepat.


Pencarian Plat via Event LPR

Dua endpoint berikut bekerja pada data event License Plate Recognition (LPR) yang tersimpan di sistem Lenz — tidak bergantung pada layanan eksternal Polri.

Cari Plat Nomor (Agregasi)

Mencari plat nomor dalam riwayat event dan mengembalikan hasil yang dikelompokkan per plat (plate_number, first_seen, last_seen, detection_count). Mendukung wildcard * pada parameter q.

Pencarian Event Plat Nomor

GET
/api/events/search/plates

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

q*string

Potongan nomor plat yang dicari (substring, tidak peka huruf besar-kecil). Wajib diisi; string kosong ditolak dengan 400.

timestamp_from*string

Batas awal rentang waktu (ISO 8601 dengan offset). Wajib diisi.

Formatdate-time
timestamp_to*string

Batas akhir rentang waktu (ISO 8601 dengan offset). Wajib diisi.

Formatdate-time
limit?integer

Jumlah maksimum plat unik yang dikembalikan. Default 20; nilai di atas 100 dipangkas menjadi 100.

Default20
Rangevalue <= 100
timezone?string

Zona waktu IANA untuk menyajikan first_seen dan last_seen (contoh: Asia/Jakarta). Default UTC; nilai yang tidak dikenal diabaikan dan UTC dipakai.

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://lenz.example.com/api/events/search/plates?q=1234&timestamp_from=2026-09-08T00%3A00%3A00%2B07%3A00&timestamp_to=2026-09-15T23%3A59%3A59%2B07%3A00&limit=20&timezone=Asia%2FJakarta"
{  "ok": true,  "message": "successfully searched plates",  "data": [    {      "plate_number": "B1234XYZ",      "event_id": "7f3c1a2e-4b8d-4e1f-9a6b-2c5d8e9f0a11",      "first_seen": "2026-09-10T07:15:00+07:00",      "last_seen": "2026-09-15T18:42:00+07:00",      "detection_count": 7    },    {      "plate_number": "D1234AB",      "event_id": "0a1b2c3d-4e5f-4a6b-8c9d-0e1f2a3b4c5d",      "first_seen": "2026-09-12T09:00:00+07:00",      "last_seen": "2026-09-12T09:00:00+07:00",      "detection_count": 1    }  ]}
{  "ok": false,  "code": "bad-request",  "errors": [],  "message": "query parameter 'q' is required"}
{  "ok": false,  "code": "not-authenticate",  "errors": [],  "message": "Authorization not found"}
{  "ok": false,  "code": "forbidden",  "errors": [],  "message": "not allowed for access this resource"}

Riwayat Event per Plat Nomor

Mengambil daftar event LPR lengkap untuk satu nomor plat tertentu. Hasil melalui deduplikasi berbasis bucket 10 menit per stream. Gunakan disable_base64_image=true untuk mengurangi ukuran payload ~99%.

Plate Tracking Events

GET
/api/events/plate-related

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

plate_number*string

Nomor plat persis seperti hasil pembacaan LPR (huruf kapital, biasanya tanpa spasi). Bila kosong, hasil selalu kosong.

timestamp_from*string

Batas awal rentang waktu (ISO 8601 dengan offset). Wajib: bila kosong query gagal dan respons 500.

Formatdate-time
timestamp_to*string

Batas akhir rentang waktu (ISO 8601 dengan offset). Wajib: bila kosong query gagal dan respons 500.

Formatdate-time
limit?integer

Jumlah maksimum event setelah deduplikasi. Default 10 (UI memakai 1000). Harus berupa angka; nilai bukan angka menghasilkan 500.

Default10
timezone?string

Diterima untuk kompatibilitas dengan klien Lenz, tetapi saat ini tidak diterapkan: timestamp selalu dikembalikan dalam UTC.

disable_base64_image?boolean

Jika true, primary_image/secondary_image (Base64) dihilangkan dan diganti primary_image_url/secondary_image_url. Default false; UI Lenz selalu mengirim true.

Defaultfalse

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://lenz.example.com/api/events/plate-related?plate_number=B1234XYZ&timestamp_from=2026-09-08T00%3A00%3A00%2B07%3A00&timestamp_to=2026-09-15T23%3A59%3A59%2B07%3A00&limit=1000&timezone=Asia%2FJakarta&disable_base64_image=true"
{  "ok": true,  "message": "successfully get data plate related event",  "data": [    {      "id": 2001,      "analytic_id": "NFV4-LPR2",      "node_num": 2,      "stream_id": "stream-camera-gerbang",      "stream_latitude": -6.2088,      "stream_longitude": 106.8456,      "primary_image_url": "/api/event/image?event_id=7f3c1a2e-4b8d-4e1f-9a6b-2c5d8e9f0a11&type=primary",      "secondary_image_url": "/api/event/image?event_id=7f3c1a2e-4b8d-4e1f-9a6b-2c5d8e9f0a11&type=secondary",      "label": "",      "result": "B1234XYZ",      "location": "Gerbang Utama",      "status": "",      "logic": "LPR",      "timestamp": "2026-09-15T02:10:05Z",      "pipeline_event_id": "7f3c1a2e-4b8d-4e1f-9a6b-2c5d8e9f0a11",      "pipeline_data": {        "event_id": "7f3c1a2e-4b8d-4e1f-9a6b-2c5d8e9f0a11",        "plate_number": "B1234XYZ",        "attributes": {          "character": {            "label": "B1234XYZ",            "confidence": 0.97          },          "vehicle": {            "label": "car",            "confidence": 0.91          }        }      }    }  ]}
{  "ok": false,  "code": "not-authenticate",  "errors": [],  "message": "Authorization not found"}
{  "ok": false,  "code": "forbidden",  "errors": [],  "message": "not allowed for access this resource"}
{  "ok": false,  "code": "internal-server-error",  "errors": [],  "message": "strconv.Atoi: parsing \"abc\": invalid syntax"}

Lookup Kendaraan via Korlantas

Endpoint berikut meneruskan permintaan ke layanan Korlantas/Polri untuk mengambil data STNK dan data kependudukan pemilik dari Dukcapil.

Endpoint ini memerlukan izin RBAC plate_search pada role pengguna dan fitur PLATE_INVESTIGATION_ENABLED diaktifkan melalui Preferences → Feature. Hubungi administrator jika Anda mendapat respons 403 Forbidden.

Lookup Kendaraan via Korlantas

POST
/api/gateway/v1/util/no-pol-korlantas

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://lenz.example.com/api/gateway/v1/util/no-pol-korlantas" \  -H "Content-Type: application/json" \  -d '{    "no_pol": "B 1234 XYZ",    "admin_id": "operator@example.com"  }'
[  {    "STATUS": "AKTIF",    "Merk": "TOYOTA",    "Type": "AVANZA 1.3 G M/T",    "TahunPembuatan": "2020",    "IsiCylinder": "1329",    "Warna": "PUTIH",    "JenisKendaraan": "MOBIL PENUMPANG",    "ModelKendaraan": "MINIBUS",    "KabKota": "JAKARTA SELATAN",    "Polda": "METRO JAYA",    "WarnaTNKB": "HITAM",    "NIK": "3174012345678901",    "NAMA_LGKP": "BUDI SANTOSO",    "TMPT_LHR": "JAKARTA",    "TGL_LHR": "15-06-1985",    "ALAMAT": "JL. SUDIRMAN NO. 1",    "PROP_NAME": "DKI JAKARTA",    "KAB_NAME": "JAKARTA SELATAN",    "KEC_NAME": "KEBAYORAN BARU",    "KEL_NAME": "SENAYAN",    "JENIS_KLMIN": "LAKI-LAKI",    "GOL_DARAH": "O",    "AGAMA": "ISLAM",    "STATUS_KAWIN": "KAWIN",    "JENIS_PKRJN": "SWASTA",    "PDDK_AKH": "S1",    "FOTO": "<base64-encoded-image>"  }]
{  "ok": false,  "message": "invalid request"}
{  "ok": false,  "message": "invalid request"}
{  "ok": false,  "message": "invalid request"}
{  "ok": false,  "message": "invalid request"}

On this page