Skip to content

API Documentation (Inferred from Logs)

This document outlines the API endpoints, methods, and payloads observed in the provided logs for api.knzonline.com.

Base URL

https://api.knzonline.com/api/v1

Account

Get Account Info

Retrieves information for the currently authenticated account.

  • Method: GET
  • Endpoint: /account
  • Headers:
json
{
  "accept": "application/json"
}
  • Example Response (200 SUCCESS):

    {
      "data": {
        "id": "cmcldixxd0001ov145caraimj",
        "nama": "KNZ OFFICIAL",
        "email": "[email protected]",
        "jenisPengguna": "KANTOR",
        "KelompokPengguna": {
          "id": 1,
          "nama": "Super Admin",
          "warna": "red",
          "akses": [
            { "id": 1213, "izin": "TUGAS", "status": true },
            { "id": 1214, "izin": "MENGATUR_TUGAS", "status": true },
            { "id": 1215, "izin": "SURAT_BERKAS_UMUM", "status": true },
            { "id": 1218, "izin": "PELANGGAN", "status": true },
            { "id": 1223, "izin": "PERMOHONAN", "status": true }
          ]
        }
      }
    }

Orders (Permohonan)

Get Order List

Retrieves a paginated list of orders. Supports pagination, sorting, and searching.

  • Method: GET

  • Endpoint: /office/admin/order

  • Query Parameters:

    • page (number): The page number to retrieve (e.g., 1).

    • size (number): The number of items per page (e.g., 10).

    • sort (string): The field to sort by (e.g., tanggal).

    • direction (string): The sort direction (e.g., desc).

    • search (string): The search term (e.g., 818, KNZ, DALAM_PROSES).

    • by (string): The field to search by (e.g., nomor, nama, status).

  • Example Request (Search by nomor):

    GET /api/v1/office/admin/order?page=1&size=10&sort=tanggal&direction=desc&search=818&by=nomor

  • Example Response (200 SUCCESS):

    {
      "data": [
        {
          "id": "cmhaectpd00a5pl8g00lvrrwb",
          "nomor_permohonan": 818,
          "pemohonId": "cmgi4gbuf0079lu1so5eepyqa",
          "layananId": 60,
          "status": "DALAM_PROSES",
          "ownerId": "cmcldixxd0001ov145caraimj",
          "petugasId": "cmcjzdsed000bl71hbmsax05r",
          "pemohon": {
            "nama_lengkap": "Faris Balatif, S.T Qq BM BSI KCP Stabat"
          },
          "layanan": {
            "kelompok": "NOTARIS",
            "nama": "AKAD BANK SYARIAH INDONESIA (BSI)"
          },
          "tagihan": {
            "status": "BELUM_LUNAS"
          },
          "PermohonanIdentitas": [],
          "owner": {
            "status": "NONAKTIF",
            "nama": "KNZ OFFICIAL",
            "telepon": "8116787893"
          }
        }
      ],
      "meta": {
        "page": 1,
        "size": 10,
        "total": 1,
        "totalPages": 1
      }
    }

Get Single Order

Retrieves the details for a specific order by its ID.

  • Method: GET

  • Endpoint: /office/admin/order/{id}

  • Example Request:

    GET /api/v1/office/admin/order/cmgam31ek00pppk1s2vghchde

  • Example Response (200 SUCCESS):

    {
      "message": "Data berhasil ditemukan",
      "data": {
        "id": "cmgam31ek00pppk1s2vghchde",
        "nomor_permohonan": 696,
        "pemohonId": "cmdpxxand0001lp1kk0nobrpo",
        "layananId": 2,
        "status": "DALAM_PROSES",
        "petugasId": "cmcjzbt4s0007l71h36wpyw5k",
        "PermohonanIdentitas": [
          {
            "identitasId": "cmgamao9a00pzpk1ssci55xks",
            "identitas": {
              "id": "cmgamao9a00pzpk1ssci55xks",
              "nik": "1205095806830003",
              "nama_lengkap": "ASMARANI"
            },
            "peran": "PIHAK_PERTAMA"
          },
          {
            "identitasId": "cmgamcggo00q1pk1s3862mgar",
            "identitas": {
              "id": "cmgamcggo00q1pk1s3862mgar",
              "nik": "1205092707990016",
              "nama_lengkap": "AZHAR"
            },
            "peran": "PIHAK_KEDUA"
          }
        ],
        "tugasPermohonan": [
          {
            "id": 1462,
            "nama": "MEMERIKSA KEABSAHAN DOKUMEN",
            "statusTugas": "SELESAI",
            "pelaksanaId": "cmcjz6et60003l71h0f2qefat"
          },
          {
            "id": 1463,
            "nama": "KONSEP AKTA",
            "statusTugas": "SELESAI",
            "pelaksanaId": "cmcjzbt4s0007l71h36wpyw5k"
          }
        ]
      }
    }

Create New Order

Creates a new order with associated tasks, fees, and subjects.

  • Method: POST

  • Endpoint: /office/admin/order

  • Headers:

    {
      "accept": "application/json",
      "content-type": "application/json"
    }
  • Example Request Body:

    {
      "layanan": 6,
      "penghadap": [
        { "identitasId": "cmha0knmh003apl8gjpd4u7wy", "peran": "PIHAK_PERTAMA" },
        { "identitasId": "cmha0jheg0038pl8gglw30oyo", "peran": "PIHAK_PERTAMA" },
        { "identitasId": "cmha0hec70036pl8g1pb6128b", "peran": "PIHAK_KEDUA" }
      ],
      "pemohon": "cmha0m4tr003cpl8golnb1yts",
      "petugas": "cmcjz6et60003l71h0f2qefat",
      "alasan_hak": "CONTOH DASAR PENUGASAN",
      "bentukHukum": "PERJANJIAN KAWIN",
      "status": "MENUNGGU_DISETUJUI",
      "berkas": [
        { "id": 18, "nama": "KTP Calon Suami dan Istri", "keterangan": "KTP yang masih berlaku", "scan": true, "pernyataan": true, "pelayananId": 6 },
        { "id": 19, "nama": "Kartu Keluarga", "keterangan": "Kartu Keluarga", "scan": true, "pernyataan": true, "pelayananId": 6 }
      ],
      "biaya": [
        { "id": 98, "nama": "CONTOH BIAYA", "nominal": 1000000, "layananId": 6 },
        { "nama": "Pajak PPh", "nominal": null },
        { "nama": "Pajak BPHTB", "nominal": null }
      ],
      "tugas": [
        { "id": 25, "nama": "Mendengarkan keterangan para pihak", "layananId": 6 },
        { "id": 26, "nama": "Memberikan penjelasan hukum...", "layananId": 6 }
      ],
      "tenggat_waktu": "2025-10-29T10:25:26.090Z",
      "created_at": "2025-10-29T10:25:26.090Z",
      "tagihan": {
        "siklus": 1,
        "jangka_waktu": 30,
        "tenggat_waktu": "2025-11-27",
        "status": "BELUM_LUNAS"
      },
      "objekPajak": [
        {
          "letakObjek": "TERISI",
          "luasTanah": 1945,
          "luasBangunan": 1945,
          "harga": 1945,
          "njop": 1945,
          "nop": "1945",
          "ssp": "2025-10-07T17:00:00.000Z",
          "ssb": "2025-10-07T17:00:00.000Z"
        }
      ]
    }
  • Example Response (200 SUCCESS):

    {
      "message": "Berhasil menambahkan permohonan",
      "data": {
        "permohonan": {
          "id": "cmhafaqx300agpl8gc5oia5lr",
          "pemohonId": "cmha0m4tr003cpl8golnb1yts",
          "layananId": 6,
          "alasan_hak": "CONTOH DASAR PENUGASAN",
          "bentukHukum": "PERJANJIAN KAWIN",
          "status": "MENUNGGU_DISETUJUI",
          "ownerId": "cmcldixxd0001ov145caraimj",
          "petugasId": "cmcjz6et60003l71h0f2qefat"
        }
      }
    }

Update Order Detail

Updates the core details of an order, such as the applicant (pemohon).

  • Method: PATCH

  • Endpoint: /office/admin/order/{id}/detail

  • Headers:

    {
      "accept": "application/json",
      "content-type": "application/json"
    }
  • Example Request Body:

    {
      "pemohon": {
        "id": "cmha0knmh003apl8gjpd4u7wy",
        "pemilikId": null,
        "penulisId": "cmcldixxd0001ov145caraimj",
        "nik": "12050948046500001",
        "nama_lengkap": "WAGINEM",
        "status": "TERVERIFIKASI",
        "created_at": "2025-10-28T03:35:35.322Z",
        "updated_at": "2025-10-28T03:35:35.322Z",
        "kartuId": "cmha0knma0039pl8gez6vz1bh",
        "penulis": {
          "id": "cmcldixxd0001ov145caraimj",
          "nama": "KNZ OFFICIAL",
          "email": "[email protected]"
        },
        "pemilik": null
      }
    }
  • Example Response (200 SUCCESS):

    {
      "message": "Permohonan updated successfully",
      "data": {
        "id": "cmhafaqx300agpl8gc5oia5lr",
        "pemohonId": "cmha0knmh003apl8gjpd4u7wy",
        "status": "MENUNGGU_DISETUJUI",
        "pemohon": {
          "id": "cmha0knmh003apl8gjpd4u7wy",
          "nama_lengkap": "WAGINEM",
          "nik": "12050948046500001"
        }
      }
    }

Update Order Subjects (Identitas)

Updates the list of subjects (penghadap or identities) associated with an order.

  • Method: PUT

  • Endpoint: /office/admin/order/{id}/subject

  • Headers:

    {
      "accept": "application/json",
      "content-type": "application/json"
    }
  • Example Request Body:

    {
      "penghadap": [
        {
          "identitasId": "cmha0knmh003apl8gjpd4u7wy",
          "identitas": {
            "id": "cmha0knmh003apl8gjpd4u7wy",
            "nik": "12050948046500001",
            "nama_lengkap": "WAGINEM",
            "status": "TERVERIFIKASI"
          },
          "peran": "PIHAK_PERTAMA"
        },
        {
          "identitasId": "cmha0hec70036pl8g1pb6128b",
          "identitas": {
            "id": "cmha0hec70036pl8g1pb6128b",
            "nik": "1205091710830001",
            "nama_lengkap": "ATHERI",
            "status": "TERVERIFIKASI"
          },
          "peran": "PIHAK_KEDUA"
        }
      ]
    }
  • Example Response (200 SUCCESS):

    {
      "message": "Subjects berhasil diperbarui"
    }

Update Order Tasks

Updates the list of tasks for an order. Can be used to add or remove tasks.

  • Method: PUT

  • Endpoint: /office/admin/order/{id}/task

  • Headers:

    {
      "accept": "application/json",
      "content-type": "application/json"
    }
  • Example Request Body (Adding a task):

    json
    {
      "tugas": [
        {
          "id": 2120,
          "nama": "Mendengarkan keterangan para pihak",
          "permohonanId": "cmhafaqx300agpl8gc5oia5lr",
          "statusTugas": "BELUM_DIMULAI"
        },
        {
          "id": 2121,
          "nama": "Memberikan penjelasan hukum terkait perjanjian kawin",
          "permohonanId": "cmhafaqx300agpl8gc5oia5lr",
          "statusTugas": "BELUM_DIMULAI"
        },
        {
          "nama": "CONTOH TAMBAH TUGAS",
          "tenggat_waktu": "2025-10-29"
        }
      ]
    }
  • Example Response (200 SUCCESS):

    json
    {
      "message": "Tasks berhasil diperbarui"
    }

Update Order Fees

Updates the list of fees (biaya) for an order.

  • Method: PUT

  • Endpoint: /office/admin/order/{id}/fee

  • Headers:

    json
    {
      "accept": "application/json",
      "content-type": "application/json"
    }
  • Example Request Body:

    json
    {
      "biaya": [
        {
          "id": 1273,
          "nama": "CONTOH BIAYA",
          "nominal": 1000000,
          "tagihanId": 415
        },
        {
          "id": 1274,
          "nama": "Pajak PPh",
          "nominal": 0,
          "tagihanId": 415
        }
      ]
    }
  • Example Response (200 SUCCESS):

    json
    {
      "message": "Fees berhasil diperbarui"
    }

Add File/Document (Berkas) to Order

Adds a new file/document registry entry to a specific order.

  • Method: POST

  • Endpoint: /office/admin/order/{id}/registry

  • Headers:

    json
    {
      "accept": "application/json",
      "content-type": "application/json"
    }
  • Example Request Body:

    json
    {
      "nama": "CONTOH BERKAS",
      "keterangan": "CONTOH BERKAS",
      "scan": true,
      "pernyataan": true,
      "JenisBerkas": "MASUK"
    }
  • Example Response (200 SUCCESS):

    json
    {
      "message": "Tasks berhasil diperbarui.",
      "data": {
        "id": 2382,
        "nama": "CONTOH BERKAS",
        "keterangan": "CONTOH BERKAS",
        "status": "KOSONG",
        "JenisBerkas": "MASUK",
        "permohonanId": "cmhafaqx300agpl8gc5oia5lr",
        "updatedAt": "2025-10-28T10:34:09.459Z",
        "createdAt": "2025-10-28T10:34:09.459Z",
        "authorId": "cmcldixxd0001ov145caraimj"
      }
    }

Delete Order

Deletes an order and optionally its related invoices (tagihan) and documents (berkas).

  • Method: DELETE

  • Endpoint: /office/admin/order/{id}

  • Query Parameters:

    • tagihan (boolean): Whether to delete associated invoices (e.g., true).

    • berkas (boolean): Whether to delete associated documents (e.g., true).

  • Example Request:

    DELETE /api/v1/office/admin/order/cmhafaqx300agpl8gc5oia5lr?tagihan=true&berkas=true

  • Example Response (200 SUCCESS):

    json
    {
      "message": "Permohonan berhasil dihapus beserta data terkait"
    }

Users

Get Users by Role

Retrieves a list of all users, seemingly filterable by role (though no role is specified in the log).

  • Method: GET

  • Endpoint: /office/admin/user/role/

  • Headers:

    json
    {
      "accept": "application/json"
    }
  • Example Response (200 SUCCESS):

    json
    {
      "data": [
        {
          "id": "cmcjz4sfd0001l71hxd9d0le3",
          "nama": "Ayu Tri Lestari, S.AB.",
          "email": "[email protected]",
          "telepon": "82251697237",
          "status": "NONAKTIF",
          "jenisPengguna": "KANTOR",
          "kelompokPenggunaId": 4,
          "profile": "cmfnnrnn50000o719u8xrtecc"
        },
        {
          "id": "cmcjz6et60003l71h0f2qefat",
          "nama": "Tri Widya Agustin, SE",
          "email": "[email protected]",
          "telepon": "83169397623",
          "status": "NONAKTIF",
          "jenisPengguna": "KANTOR",
          "kelompokPenggunaId": 3
        }
      ],
      "meta": {
        "page": 1,
        "size": 10,
        "total": 10,
        "totalPages": 1
      }
    }

Services (Layanan)

Get Service List

Retrieves a list of available services.

  • Method: GET

  • Endpoint: /office/admin/service

  • Query Parameters (Optional):

    • page (number): e.g., 1

    • size (number): e.g., 10

  • Example Response (200 SUCCESS):

    json
    {
      "data": [
        {
          "id": 2,
          "nama": "JUAL BELI",
          "keterangan": "Akta otentik untuk pengalihan hak milik...",
          "kelompok": "PPAT",
          "syaratBerkas": [
            { "id": 4, "nama": "Sertifikat Asli", "scan": true, "pernyataan": true },
            { "id": 7, "nama": "Bukti PBB Terakhir (khusus tanah dan bangunan)", "scan": true }
          ],
          "tugasLayanan": [
            { "id": 212, "nama": "MEMERIKSA KEABSAHAN DOKUMEN" },
            { "id": 213, "nama": "KONSEP AKTA" }
          ],
          "biayaLayanan": [],
          "permohonan": [
            { "id": "cmd76gi88000hl01knvawas0c", "nomor_permohonan": 481, "status": "SELESAI" }
          ]
        },
        {
          "id": 6,
          "nama": "PERJANJIAN KAWIN",
          "keterangan": "Akta yang mengatur harta benda...",
          "kelompok": "NOTARIS",
          "syaratBerkas": [
            { "id": 18, "nama": "KTP Calon Suami dan Istri", "scan": true },
            { "id": 19, "nama": "Kartu Keluarga", "scan": true }
          ],
          "tugasLayanan": [
            { "id": 25, "nama": "Mendengarkan keterangan para pihak" }
          ],
          "biayaLayanan": [
            { "id": 98, "nama": "CONTOH BIAYA", "nominal": 1000000 }
          ]
        }
      ]
    }

Get Service Detail

Retrieves the full details for a single service, including its required documents, tasks, and fees.

  • Method: GET

  • Endpoint: /office/admin/service/{id}

  • Example Request:

    GET /api/v1/office/admin/service/6

  • Example Response (200 SUCCESS):

    json
    {
      "message": "Successfully retrieved service details",
      "data": {
        "id": 6,
        "nama": "PERJANJIAN KAWIN",
        "kelompok": "NOTARIS",
        "syaratBerkas": [
          {
            "id": 18,
            "nama": "KTP Calon Suami dan Istri",
            "keterangan": "KTP yang masih berlaku",
            "scan": true,
            "pernyataan": true,
            "pelayananId": 6
          },
          {
            "id": 19,
            "nama": "Kartu Keluarga",
            "keterangan": "Kartu Keluarga",
            "scan": true,
            "pernyataan": true,
            "pelayananId": 6
          }
        ],
        "tugasLayanan": [
          {
            "id": 25,
            "nama": "Mendengarkan keterangan para pihak",
            "layananId": 6
          },
          {
            "id": 26,
            "nama": "Memberikan penjelasan hukum terkait perjanjian kawin",
            "layananId": 6
          }
        ],
        "biayaLayanan": [
          {
            "id": 98,
            "nama": "CONTOH BIAYA",
            "nominal": 1000000,
            "layananId": 6
          }
        ]
      }
    }

Subjects (Identitas)

Get Subject List

Retrieves a list of subjects (identities).

  • Method: GET

  • Endpoint: /office/admin/subject

  • Headers:

    json
    {
      "accept": "application/json"
    }
  • Example Response (200 SUCCESS):

    json
    {
      "message": "Berhasil mendapatkan daftar identitas",
      "data": [
        {
          "id": "cmha0m4tr003cpl8golnb1yts",
          "pemilikId": null,
          "penulisId": "cmcldixxd0001ov145caraimj",
          "nik": "1205095203770001",
          "nama_lengkap": "MARDIANA",
          "status": "TERVERIFIKASI",
          "created_at": "2025-10-28T03:36:44.272Z",
          "kartuId": "cmha0m4tk003bpl8gqz4x7zxv",
          "penulis": {
            "id": "cmcldixxd0001ov145caraimj",
            "nama": "KNZ OFFICIAL",
            "email": "[email protected]"
          },
          "pemilik": null
        },
        {
          "id": "cmha0knmh003apl8gjpd4u7wy",
          "nik": "12050948046500001",
          "nama_lengkap": "WAGINEM",
          "status": "TERVERIFIKASI",
          ...
        }
      ]
    }

Registry (Berkas)

Delete Document (Berkas)

Deletes a single document/file (berkas) from the registry by its ID.

  • Method: DELETE

  • Endpoint: /office/admin/registry/{id}

  • Example Request:

    DELETE /api/v1/office/admin/registry/2379

  • Example Response (200 SUCCESS):

    json
    {
      "message": "Registry entry with ID 2379 has been successfully deleted.",
      "data": {
        "id": 2379,
        "nama": "KTP Calon Suami dan Istri",
        "status": "KOSONG",
        "JenisBerkas": "MASUK",
        "createdAt": "2025-10-28T10:27:47.272Z"
      }
    }

Invitations

Check Invitation Status

Checks if an invitation for a subject ID is valid.

  • Method: GET

  • Endpoint: /office/admin/invitation/check/{subjectId}

  • Example Request:

    GET /api/v1/office/admin/invitation/check/cmha0knmh003apl8gjpd4u7wy

  • Example Response (404 NOT FOUND):

    (Note: This endpoint returned a 404 in the log, indicating the invitation was not found or expired.)

    json
    {
      "message": "Undangan tidak ditemukan atau sudah kedaluwarsa."
    }