{
    "openapi": "3.0.0",
    "info": {
        "title": "API Sipakat",
        "description": "Dokumentasi API untuk aplikasi Sipakat (Sistem Akuntabilitas Kinerja Aceh Utara Bangkit)",
        "contact": {
            "name": "Sipakat IT Teams",
            "email": "binjeeclick@gmail.com"
        },
        "license": {
            "name": "MIT",
            "url": "https://opensource.org/licenses/MIT"
        },
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "https://sipakat.acehutara.go.id/",
            "description": "Production Server"
        },
        {
            "url": "http://sipakat.test",
            "description": "Local Development"
        }
    ],
    "paths": {
        "/api/analisis_cakin": {
            "get": {
                "tags": [
                    "Analisis Cakin"
                ],
                "summary": "Daftar semua Analisis Cakin",
                "operationId": "951afa701b2cf742917a0f8797c929fc",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/AnalisisCakin"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Analisis Cakin"
                ],
                "summary": "Tambah Analisis Cakin baru",
                "operationId": "452ae815934766fd8d720ed77c2de4ca",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "Analisis Cakin 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/analisis_cakin/{id}": {
            "get": {
                "tags": [
                    "Analisis Cakin"
                ],
                "summary": "Detail Analisis Cakin",
                "operationId": "521a3ae135a7d4c984c62113042a19ce",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/AnalisisCakin"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Analisis Cakin"
                ],
                "summary": "Update Analisis Cakin",
                "operationId": "8d4f0436eb871b617ed2e2b0cc7f8005",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Analisis Cakin"
                ],
                "summary": "Hapus Analisis Cakin",
                "operationId": "e0c54d3d6635302996933be729aeb435",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/analisis_cakin/{id}/verifikasi": {
            "post": {
                "tags": [
                    "Analisis Cakin"
                ],
                "summary": "Verifikasi Analisis Cakin",
                "operationId": "5c0d37984ca890362690fb468a253bc0",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/auth/login": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Autentikasi Pengguna & Ambil Token JWT",
                "description": "Digunakan untuk masuk ke sistem performa dan administrasi.",
                "operationId": "bcfd3f1b67981bfe12a0ea2ab4c6e3fb",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "required": [
                                    "username",
                                    "password"
                                ],
                                "properties": {
                                    "username": {
                                        "type": "string",
                                        "example": "admin"
                                    },
                                    "password": {
                                        "type": "string",
                                        "format": "password",
                                        "example": "password123"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login berhasil, token digenerate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Login berhasil"
                                        },
                                        "data": {
                                            "properties": {
                                                "token": {
                                                    "type": "string",
                                                    "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
                                                },
                                                "user": {
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 1
                                                        },
                                                        "nama_lengkap": {
                                                            "type": "string",
                                                            "example": "Hendra"
                                                        },
                                                        "opd_id": {
                                                            "type": "integer",
                                                            "example": 12
                                                        },
                                                        "role": {
                                                            "type": "string",
                                                            "example": "ADMIN"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validasi gagal (Username atau password kosong)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "object",
                                            "example": {
                                                "username": "The username field is required."
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Kredensial salah / Autentikasi gagal",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Username atau password salah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Akun tidak aktif (Status bukan ACTIVE)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Akun tidak aktif"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                }
            }
        },
        "/api/auth/me": {
            "get": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Ambil Data Profil Pengguna Aktif",
                "description": "Mengembalikan data pengguna yang sedang login berdasarkan token JWT yang dikirim di Header.",
                "operationId": "6fe264bbd7cf854a6999b8d82986c5aa",
                "responses": {
                    "200": {
                        "description": "Berhasil mengambil data profil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                },
                                                "username": {
                                                    "type": "string",
                                                    "example": "admin"
                                                },
                                                "opd_id": {
                                                    "type": "integer",
                                                    "example": 12
                                                },
                                                "role": {
                                                    "type": "string",
                                                    "example": "ADMIN"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid, kedaluwarsa, atau tidak disertakan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/auth/logout": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Logout (invalidasi token sisi client)",
                "description": "Endpoint ini hanya untuk memberitahu client bahwa token tidak berlaku lagi. Biasanya client cukup hapus token lokal.",
                "operationId": "061905e3856b41f8391b60d4072d0c52",
                "responses": {
                    "200": {
                        "description": "Logout berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Logout berhasil"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/auth/refresh": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Refresh token JWT",
                "description": "Memperbarui token JWT yang masih valid sebelum kadaluarsa. Kirim token lama di header.",
                "operationId": "ea9171b0d502d4303bd8f10e7b60db70",
                "responses": {
                    "200": {
                        "description": "Token baru berhasil dibuat",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token berhasil diperbarui"
                                        },
                                        "data": {
                                            "properties": {
                                                "token": {
                                                    "type": "string",
                                                    "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid atau kadaluarsa"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/cms/pengumuman": {
            "get": {
                "tags": [
                    "CMS"
                ],
                "summary": "Daftar Pengumuman Aktif",
                "description": "Mengambil semua pengumuman dengan status 'aktif'.",
                "operationId": "a910c8bc030209f6a67ae4e35b70a5b2",
                "responses": {
                    "200": {
                        "description": "Berhasil mengambil data pengumuman",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Pengumuman"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/cms/peraturan": {
            "get": {
                "tags": [
                    "CMS"
                ],
                "summary": "Daftar Peraturan Aktif",
                "description": "Mengambil semua peraturan dengan status 'aktif'.",
                "operationId": "495dd2437bffe4a377bd195ac50f4668",
                "responses": {
                    "200": {
                        "description": "Berhasil mengambil data peraturan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Peraturan"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/cms/gallery": {
            "get": {
                "tags": [
                    "CMS"
                ],
                "summary": "Daftar Gallery Aktif",
                "description": "Mengambil semua gallery dengan is_active = 1.",
                "operationId": "4dc000b963562eb17283f6671af28b6e",
                "responses": {
                    "200": {
                        "description": "Berhasil mengambil data gallery",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Gallery"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/cms/teams": {
            "get": {
                "tags": [
                    "CMS"
                ],
                "summary": "Daftar Tim Aktif",
                "description": "Mengambil semua tim dengan is_active = 1.",
                "operationId": "222383cb97d122432e45aa8f29d784f6",
                "responses": {
                    "200": {
                        "description": "Berhasil mengambil data tim",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Team"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/cms/faqs": {
            "get": {
                "tags": [
                    "CMS"
                ],
                "summary": "Daftar FAQ Aktif",
                "description": "Mengambil semua FAQ dengan is_active = 1.",
                "operationId": "e2a92c87383f0c27a82a7e6fbe7a47da",
                "responses": {
                    "200": {
                        "description": "Berhasil mengambil data FAQ",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/FAQ"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/cascade": {
            "get": {
                "tags": [
                    "Cascade"
                ],
                "summary": "Daftar semua Cascade",
                "operationId": "3d4a0bcac9b16ece1bab10d5f8680a1a",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Cascade"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Cascade"
                ],
                "summary": "Tambah Cascade baru",
                "operationId": "1e6874c01d32e140e9b52df61a625525",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "Cascade 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/cascade/{id}": {
            "get": {
                "tags": [
                    "Cascade"
                ],
                "summary": "Detail Cascade",
                "operationId": "1d96156fd42ed0f6a1ba3fd3daf289b6",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Cascade"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Cascade"
                ],
                "summary": "Update Cascade",
                "operationId": "bcf4e8f657f6751aae12577fcb3fc3ff",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Cascade"
                ],
                "summary": "Hapus Cascade",
                "operationId": "fd814a0604a085d563401de2e1e53871",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/cascade/{id}/verifikasi": {
            "post": {
                "tags": [
                    "Cascade"
                ],
                "summary": "Verifikasi Cascade",
                "operationId": "fb407318cff1fd76e7d4b15a1a9d824c",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/dpa": {
            "get": {
                "tags": [
                    "DPA"
                ],
                "summary": "Daftar semua DPA",
                "operationId": "21dba0ca759b4705a7579390135d9f40",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/DPA"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "DPA"
                ],
                "summary": "Tambah DPA baru",
                "operationId": "fccc4d7f2805227650d6a16828ef4e5f",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "DPA 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/dpa/{id}": {
            "get": {
                "tags": [
                    "DPA"
                ],
                "summary": "Detail DPA",
                "operationId": "b474d9ec7156dc04b6640ece91957eaa",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/DPA"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "DPA"
                ],
                "summary": "Update DPA",
                "operationId": "fb2ca6a7b69bac2c153dc043e5e98475",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "DPA"
                ],
                "summary": "Hapus DPA",
                "operationId": "7b8e91f882a67c50bd8e40e886922f21",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/dpa/{id}/verifikasi": {
            "post": {
                "tags": [
                    "DPA"
                ],
                "summary": "Verifikasi DPA",
                "operationId": "79fc0b9c40c6aca431721cb736e74faf",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/evaluasi": {
            "get": {
                "tags": [
                    "Evaluasi"
                ],
                "summary": "Daftar semua Evaluasi",
                "operationId": "dcb6c5463a692f94d05ec2fd62ae2e1d",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Evaluasi"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Evaluasi"
                ],
                "summary": "Tambah Evaluasi baru",
                "operationId": "21d7dd17d558a65108ad043c98b60d51",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "Evaluasi 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/evaluasi/{id}": {
            "get": {
                "tags": [
                    "Evaluasi"
                ],
                "summary": "Detail Evaluasi",
                "operationId": "a1901b24b0ff77881d77d791b60cee6e",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Evaluasi"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Evaluasi"
                ],
                "summary": "Update Evaluasi",
                "operationId": "dd3df9290455fc9d6e5d207e80122701",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Evaluasi"
                ],
                "summary": "Hapus Evaluasi",
                "operationId": "86a65638930de0fe86115baf190d8f25",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/iku": {
            "get": {
                "tags": [
                    "IKU"
                ],
                "summary": "Daftar semua IKU",
                "operationId": "722278eaff34ea4ce79f9da7cd39e0aa",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/IKU"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "IKU"
                ],
                "summary": "Tambah IKU baru",
                "operationId": "8f1d9c20b022d051cdd24708e4d9cd37",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "IKU 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/iku/{id}": {
            "get": {
                "tags": [
                    "IKU"
                ],
                "summary": "Detail IKU",
                "operationId": "7f78184f26a06c8f880508f99f3220f9",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/IKU"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "IKU"
                ],
                "summary": "Update IKU",
                "operationId": "045d0a5c2f54c0e0c6e399e3e213476c",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "IKU"
                ],
                "summary": "Hapus IKU",
                "operationId": "e77227da2638340dd952bc03f40b64f5",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/iku/{id}/verifikasi": {
            "post": {
                "tags": [
                    "IKU"
                ],
                "summary": "Verifikasi IKU",
                "operationId": "e2493b04df689ab573f53f4f25d41a57",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/lhe": {
            "get": {
                "tags": [
                    "LHE"
                ],
                "summary": "Daftar semua LHE",
                "operationId": "9045ab529b5d13b5844cbd2f8b731897",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/LHE"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "LHE"
                ],
                "summary": "Tambah LHE baru",
                "operationId": "468b1944ade9486b6cb09380d505dec8",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "LHE 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/lhe/{id}": {
            "get": {
                "tags": [
                    "LHE"
                ],
                "summary": "Detail LHE",
                "operationId": "99911acda0f0dc9e1ff117a665646e40",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/LHE"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "LHE"
                ],
                "summary": "Update LHE",
                "operationId": "47221324bd206aac2d261d8996b2c4b9",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "LHE"
                ],
                "summary": "Hapus LHE",
                "operationId": "c26ecf239811e7ff0fc5375adf886a13",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/lkjip": {
            "get": {
                "tags": [
                    "LKJIP"
                ],
                "summary": "Daftar semua LKJIP",
                "operationId": "5dffc7f99a196adec8b55d6c4225db4f",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/LKJIP"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "LKJIP"
                ],
                "summary": "Tambah LKJIP baru",
                "operationId": "5d7c2c5b6444056b7d66968ae259d81f",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "LKJIP 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/lkjip/{id}": {
            "get": {
                "tags": [
                    "LKJIP"
                ],
                "summary": "Detail LKJIP",
                "operationId": "c8c330bf764abce4c1f875d98fac3751",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/LKJIP"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "LKJIP"
                ],
                "summary": "Update LKJIP",
                "operationId": "7d0806e8d6517060a18055a872b737fa",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "LKJIP"
                ],
                "summary": "Hapus LKJIP",
                "operationId": "cb0aa38cad59c058a08ef316de0595b8",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/lkjip/{id}/verifikasi": {
            "post": {
                "tags": [
                    "LKJIP"
                ],
                "summary": "Verifikasi LKJIP",
                "operationId": "dd850b7acde38658534a5f61e74dbb27",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifikasi": {
            "get": {
                "tags": [
                    "Notifikasi"
                ],
                "summary": "Daftar Notifikasi (dengan filter & paginasi)",
                "description": "Mengambil daftar notifikasi milik user yang sedang login. Support filter 'all', 'unread', 'read' dan paginasi.",
                "operationId": "17dc76041b88bbb1e4e04f1f19d5b89e",
                "parameters": [
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filter status notifikasi",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "default": "all",
                            "enum": [
                                "all",
                                "unread",
                                "read"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Halaman yang diminta",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 1,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "perPage",
                        "in": "query",
                        "description": "Jumlah item per halaman (max 50)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 15,
                            "maximum": 50,
                            "minimum": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "properties": {
                                                "items": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/Notifikasi"
                                                    }
                                                },
                                                "pagination": {
                                                    "properties": {
                                                        "currentPage": {
                                                            "type": "integer"
                                                        },
                                                        "perPage": {
                                                            "type": "integer"
                                                        },
                                                        "total": {
                                                            "type": "integer"
                                                        },
                                                        "lastPage": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "unread_count": {
                                                    "description": "Jumlah notifikasi belum dibaca",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifikasi/unread-count": {
            "get": {
                "tags": [
                    "Notifikasi"
                ],
                "summary": "Jumlah Notifikasi Belum Dibaca",
                "description": "Mengambil jumlah notifikasi yang belum dibaca untuk user yang sedang login.",
                "operationId": "4cbed62de0e7c083035f6012bca920a0",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "properties": {
                                                "unread_count": {
                                                    "type": "integer",
                                                    "example": 5
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "500": {
                        "description": "Kesalahan server"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifikasi/{id}/read": {
            "post": {
                "tags": [
                    "Notifikasi"
                ],
                "summary": "Tandai Satu Notifikasi sebagai Dibaca",
                "operationId": "1c243e9817d3a67b18666d17c10a851e",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID notifikasi",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Notifikasi ditandai dibaca"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Notifikasi tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "500": {
                        "description": "Kesalahan server"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifikasi/read-all": {
            "post": {
                "tags": [
                    "Notifikasi"
                ],
                "summary": "Tandai Semua Notifikasi sebagai Dibaca",
                "operationId": "d937f09ba5dcefc313c3bb9087be0267",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Semua notifikasi ditandai dibaca"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "500": {
                        "description": "Kesalahan server"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifikasi/read-bulk": {
            "post": {
                "tags": [
                    "Notifikasi"
                ],
                "summary": "Tandai Banyak Notifikasi sebagai Dibaca",
                "description": "Menerima array ID notifikasi, menandai semuanya sebagai dibaca.",
                "operationId": "f1ee3d30acf9c41e0e136e1ceaeea875",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        },
                                        "example": [
                                            1,
                                            2,
                                            3
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Notifikasi terpilih ditandai dibaca"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ID tidak valid atau kosong"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "500": {
                        "description": "Kesalahan server"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifikasi/{id}": {
            "delete": {
                "tags": [
                    "Notifikasi"
                ],
                "summary": "Hapus Satu Notifikasi (Soft Delete)",
                "operationId": "691b5023a8cb2f34dfb71dff073afb20",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID notifikasi",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Notifikasi dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Notifikasi tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "500": {
                        "description": "Kesalahan server"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifikasi/delete-bulk": {
            "delete": {
                "tags": [
                    "Notifikasi"
                ],
                "summary": "Hapus Banyak Notifikasi (Soft Delete)",
                "description": "Menerima array ID notifikasi, menghapus semuanya secara soft delete.",
                "operationId": "42d0d2bcc0cf97bcf7722842354bdea0",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        },
                                        "example": [
                                            1,
                                            2,
                                            3
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Notifikasi terpilih dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ID tidak valid atau kosong"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "500": {
                        "description": "Kesalahan server"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifikasi/send": {
            "post": {
                "tags": [
                    "Notifikasi"
                ],
                "summary": "Kirim Notifikasi ke User (Admin Only)",
                "description": "Mengirim notifikasi ke satu user tertentu. Hanya bisa diakses oleh SUPER_ADMIN.",
                "operationId": "15277cb4d8939e355b900074ed9ff1c7",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "user_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "judul": {
                                        "type": "string",
                                        "example": "Pengumuman"
                                    },
                                    "pesan": {
                                        "type": "string",
                                        "example": "Ini adalah pesan notifikasi."
                                    },
                                    "link": {
                                        "type": "string",
                                        "example": "/dashboard",
                                        "nullable": true
                                    },
                                    "jenis": {
                                        "type": "string",
                                        "default": "sistem",
                                        "enum": [
                                            "sistem",
                                            "dokumen",
                                            "verifikasi"
                                        ]
                                    },
                                    "priority": {
                                        "type": "string",
                                        "default": "normal",
                                        "enum": [
                                            "normal",
                                            "urgent"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Notifikasi terkirim"
                    },
                    "403": {
                        "description": "Tidak memiliki izin"
                    },
                    "400": {
                        "description": "Validasi gagal"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "500": {
                        "description": "Kesalahan server"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifikasi/send-to-role": {
            "post": {
                "tags": [
                    "Notifikasi"
                ],
                "summary": "Kirim Notifikasi ke Semua User dengan Role Tertentu (Admin Only)",
                "operationId": "6e7e994d2dbc30ec40f0430fd1fb2790",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "role": {
                                        "type": "string",
                                        "enum": [
                                            "ADMIN_OPD",
                                            "OPERATOR_OPD",
                                            "VERIFICATOR",
                                            "INSPEKTORAT",
                                            "VIEWER"
                                        ]
                                    },
                                    "judul": {
                                        "type": "string",
                                        "example": "Pengumuman Penting"
                                    },
                                    "pesan": {
                                        "type": "string",
                                        "example": "Isi pengumuman..."
                                    },
                                    "link": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "jenis": {
                                        "type": "string",
                                        "default": "sistem"
                                    },
                                    "priority": {
                                        "type": "string",
                                        "default": "normal"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Notifikasi terkirim"
                    },
                    "403": {
                        "description": "Tidak memiliki izin"
                    },
                    "400": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifikasi/send-to-opd": {
            "post": {
                "tags": [
                    "Notifikasi"
                ],
                "summary": "Kirim Notifikasi ke Semua User di OPD Tertentu (Admin Only)",
                "operationId": "da7251ae1ce2e692877daa497e1b881f",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "judul": {
                                        "type": "string",
                                        "example": "Pengumuman OPD"
                                    },
                                    "pesan": {
                                        "type": "string",
                                        "example": "Isi pengumuman..."
                                    },
                                    "link": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "jenis": {
                                        "type": "string",
                                        "default": "sistem"
                                    },
                                    "priority": {
                                        "type": "string",
                                        "default": "normal"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Notifikasi terkirim"
                    },
                    "403": {
                        "description": "Tidak memiliki izin"
                    },
                    "400": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/opd": {
            "get": {
                "tags": [
                    "Master Data"
                ],
                "summary": "Daftar semua OPD",
                "operationId": "9b3a4c314d84901dbc0dfc5efd5d92eb",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/OPD"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/opd/{id}": {
            "get": {
                "tags": [
                    "Master Data"
                ],
                "summary": "Detail OPD",
                "operationId": "5033b28f8292cae71a738378f9f87b85",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/OPD"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "OPD tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/paparan": {
            "get": {
                "tags": [
                    "Paparan"
                ],
                "summary": "Daftar semua Paparan",
                "operationId": "fd2ae03bbae33aac24711351c077bc5f",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Paparan"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Paparan"
                ],
                "summary": "Tambah Paparan baru",
                "operationId": "bbf27f9a22adcbcbd0462e5ffd7986f6",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "Paparan 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/paparan/{id}": {
            "get": {
                "tags": [
                    "Paparan"
                ],
                "summary": "Detail Paparan",
                "operationId": "15ca5656d246c658aca8e7e062131581",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Paparan"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Paparan"
                ],
                "summary": "Update Paparan",
                "operationId": "d14e0ec3dd79969be5d17bef68de8408",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Paparan"
                ],
                "summary": "Hapus Paparan",
                "operationId": "7eef22c3cdcaab431928492a6e50365f",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/paparan/{id}/verifikasi": {
            "post": {
                "tags": [
                    "Paparan"
                ],
                "summary": "Verifikasi Paparan",
                "operationId": "0f8df48d06cfd100ea0aa32ad4a295dd",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/pengukuran_kinerja": {
            "get": {
                "tags": [
                    "Pengukuran Kinerja"
                ],
                "summary": "Daftar semua Pengukuran Kinerja",
                "operationId": "1385ca95a5f3549b637f6840684d4e5f",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PengukuranKinerja"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Pengukuran Kinerja"
                ],
                "summary": "Tambah Pengukuran Kinerja baru",
                "operationId": "24314ebd0e482626b925288d4fe5dc8e",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "Pengukuran Kinerja 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/pengukuran_kinerja/{id}": {
            "get": {
                "tags": [
                    "Pengukuran Kinerja"
                ],
                "summary": "Detail Pengukuran Kinerja",
                "operationId": "b0512504b30bf3caac63a5e2872649e4",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/PengukuranKinerja"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Pengukuran Kinerja"
                ],
                "summary": "Update Pengukuran Kinerja",
                "operationId": "15b9eb24c7e6fe4313df6664fc480385",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Pengukuran Kinerja"
                ],
                "summary": "Hapus Pengukuran Kinerja",
                "operationId": "486e3eb389181e91e976dcb20473d884",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/pengukuran_kinerja/{id}/verifikasi": {
            "post": {
                "tags": [
                    "Pengukuran Kinerja"
                ],
                "summary": "Verifikasi Pengukuran Kinerja",
                "operationId": "5024ca743402e5e02cc06cb4f018ab8b",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/pk": {
            "get": {
                "tags": [
                    "PK"
                ],
                "summary": "Daftar semua PK",
                "operationId": "36126dc056b1c29ca8eb14d61fc75f11",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PK"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "PK"
                ],
                "summary": "Tambah PK baru",
                "operationId": "50dbec26ed25c11567a2c77078f423c2",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "PK 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/pk/{id}": {
            "get": {
                "tags": [
                    "PK"
                ],
                "summary": "Detail PK",
                "operationId": "ef40610cefec007c6922c7bda39a4084",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/PK"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "PK"
                ],
                "summary": "Update PK",
                "operationId": "efda77e93b66eaf302a12c6f577cba97",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "PK"
                ],
                "summary": "Hapus PK",
                "operationId": "4b1815c71b55b111aca88afaadd8a5b7",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/pk/{id}/verifikasi": {
            "post": {
                "tags": [
                    "PK"
                ],
                "summary": "Verifikasi PK",
                "operationId": "2b1c2e67aedf47bcac0fa66af6c3e548",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/pokin": {
            "get": {
                "tags": [
                    "POKIN"
                ],
                "summary": "Daftar semua POKIN",
                "operationId": "9dab6d7bc71bd59f6e6474ca4f6505fd",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/POKIN"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "POKIN"
                ],
                "summary": "Tambah POKIN baru",
                "operationId": "41cd4d5619b09acb9f8325249f84ff68",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "POKIN 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/pokin/{id}": {
            "get": {
                "tags": [
                    "POKIN"
                ],
                "summary": "Detail POKIN",
                "operationId": "f4f51111773a8ad6e5a8aa997cbe4df2",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/POKIN"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "POKIN"
                ],
                "summary": "Update POKIN",
                "operationId": "5fd733e77c057517fdc8bb8e9140c78c",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "POKIN"
                ],
                "summary": "Hapus POKIN",
                "operationId": "29fea2caab05f7fa64ff06493b005376",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/pokin/{id}/verifikasi": {
            "post": {
                "tags": [
                    "POKIN"
                ],
                "summary": "Verifikasi POKIN",
                "operationId": "6e7aa380d51fc23720c296a02a7ccb15",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/prestasi": {
            "get": {
                "tags": [
                    "Prestasi"
                ],
                "summary": "Daftar semua Prestasi",
                "operationId": "3446f06a66fb1056a61fd9b9f8676978",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Prestasi"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Prestasi"
                ],
                "summary": "Tambah Prestasi baru",
                "operationId": "1a0c7c930894c0e77a10eef8baf7f657",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_prestasi": {
                                        "type": "string",
                                        "example": "Prestasi A"
                                    },
                                    "jenis_prestasi": {
                                        "type": "string",
                                        "enum": [
                                            "PENGHARGAAN",
                                            "SERTIFIKAT",
                                            "PIAGAM",
                                            "CAPAIAN_KINERJA",
                                            "REKOGNISI_LAINNYA"
                                        ]
                                    },
                                    "tingkat": {
                                        "type": "string",
                                        "enum": [
                                            "INTERNASIONAL",
                                            "NASIONAL",
                                            "PROVINSI",
                                            "KABUPATEN",
                                            "LINGKUNGAN_INTERNAL"
                                        ]
                                    },
                                    "penyelenggara": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "tanggal_perolehan": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true
                                    },
                                    "file": {
                                        "description": "File PDF/DOC/JPG/PNG",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Prestasi berhasil disimpan"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/prestasi/{id}": {
            "get": {
                "tags": [
                    "Prestasi"
                ],
                "summary": "Detail Prestasi",
                "operationId": "5befa0abf540fe54bd1c941b816af607",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Prestasi"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Prestasi"
                ],
                "summary": "Update Prestasi",
                "operationId": "8f07e7663f9e2086378b15f4912de387",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_prestasi": {
                                        "type": "string"
                                    },
                                    "jenis_prestasi": {
                                        "type": "string",
                                        "enum": [
                                            "PENGHARGAAN",
                                            "SERTIFIKAT",
                                            "PIAGAM",
                                            "CAPAIAN_KINERJA",
                                            "REKOGNISI_LAINNYA"
                                        ]
                                    },
                                    "tingkat": {
                                        "type": "string",
                                        "enum": [
                                            "INTERNASIONAL",
                                            "NASIONAL",
                                            "PROVINSI",
                                            "KABUPATEN",
                                            "LINGKUNGAN_INTERNAL"
                                        ]
                                    },
                                    "penyelenggara": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "tanggal_perolehan": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Prestasi berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Prestasi"
                ],
                "summary": "Hapus Prestasi",
                "operationId": "39fccf0e205af130c89c8496ee311f2b",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Prestasi dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/prestasi/{id}/toggle-publish": {
            "post": {
                "tags": [
                    "Prestasi"
                ],
                "summary": "Toggle Publish Prestasi",
                "description": "Mengubah status prestasi antara PUBLISHED dan ARCHIVED",
                "operationId": "6c3c7be8b51879d22dc9dc36d9b7104a",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah menjadi PUBLISHED"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/proses_bisnis": {
            "get": {
                "tags": [
                    "Proses Bisnis"
                ],
                "summary": "Daftar semua Proses Bisnis",
                "operationId": "1ffa8b503218412ca1bada2103c661f0",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProsesBisnis"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Proses Bisnis"
                ],
                "summary": "Tambah Proses Bisnis baru",
                "operationId": "4f713bf95954636946b84758d72a0c90",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "Proses Bisnis 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/proses_bisnis/{id}": {
            "get": {
                "tags": [
                    "Proses Bisnis"
                ],
                "summary": "Detail Proses Bisnis",
                "operationId": "79c7c62022b40209a024d55f7b55340d",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/ProsesBisnis"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Proses Bisnis"
                ],
                "summary": "Update Proses Bisnis",
                "operationId": "b0905924a7678e27666c0ec3463e8d92",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Proses Bisnis"
                ],
                "summary": "Hapus Proses Bisnis",
                "operationId": "1c9f1dc540b468f8aed192715de9c92f",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/proses_bisnis/{id}/verifikasi": {
            "post": {
                "tags": [
                    "Proses Bisnis"
                ],
                "summary": "Verifikasi Proses Bisnis",
                "operationId": "918f7d6d294f48c1672da83568a9347a",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/renaksi": {
            "get": {
                "tags": [
                    "Renaksi"
                ],
                "summary": "Daftar semua Renaksi",
                "operationId": "0de3fe0c72f2370d16e62faa01ac4cfc",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Renaksi"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Renaksi"
                ],
                "summary": "Tambah Renaksi baru",
                "operationId": "39085e12f66a3ba56a238ea6a0050ca9",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "Renaksi 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/renaksi/{id}": {
            "get": {
                "tags": [
                    "Renaksi"
                ],
                "summary": "Detail Renaksi",
                "operationId": "6a2e0b9ba5629b1f8c17fc8312b7d692",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Renaksi"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Renaksi"
                ],
                "summary": "Update Renaksi",
                "operationId": "a1a39b1c6debb0397fb61da2eb07e4fe",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Renaksi"
                ],
                "summary": "Hapus Renaksi",
                "operationId": "83a18d9bcb599c441ff4fe89cf9e2f7a",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/renaksi/{id}/verifikasi": {
            "post": {
                "tags": [
                    "Renaksi"
                ],
                "summary": "Verifikasi Renaksi",
                "operationId": "4d4805ec1a76fb5907fec7f31847c682",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/renstra": {
            "get": {
                "tags": [
                    "Renstra"
                ],
                "summary": "Daftar semua Renstra",
                "operationId": "0de2dc3adc48fde452d140c51f16303d",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Renstra"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Renstra"
                ],
                "summary": "Tambah Renstra baru",
                "operationId": "b6f0e8c4cec927f0f2a49e77cbf0ff56",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "periode_tahun": {
                                        "type": "string",
                                        "example": "2025-2029"
                                    },
                                    "tahun_awal": {
                                        "type": "integer",
                                        "example": 2025
                                    },
                                    "tahun_akhir": {
                                        "type": "integer",
                                        "example": 2029
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "Renstra 2025-2029"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/renstra/{id}": {
            "get": {
                "tags": [
                    "Renstra"
                ],
                "summary": "Detail Renstra",
                "operationId": "33306aacdd4cbb7b1ef7613f48591e45",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Renstra"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Renstra"
                ],
                "summary": "Update Renstra",
                "operationId": "9c2dec11508abf035baadb60af425f91",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "periode_tahun": {
                                        "type": "string"
                                    },
                                    "tahun_awal": {
                                        "type": "integer"
                                    },
                                    "tahun_akhir": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Renstra"
                ],
                "summary": "Hapus Renstra",
                "operationId": "a66d18f39e9433890edd3ec4226be8b2",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/renstra/{id}/verifikasi": {
            "post": {
                "tags": [
                    "Renstra"
                ],
                "summary": "Verifikasi Renstra",
                "operationId": "07605cd4dcb01b7443d5ae4e703db382",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/rkpd": {
            "get": {
                "tags": [
                    "RKPD"
                ],
                "summary": "Daftar semua RKPD",
                "operationId": "6c46638ac426a92c7532f7ac732e415a",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/RKPD"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "RKPD"
                ],
                "summary": "Tambah RKPD baru",
                "operationId": "dd77bb16fbf7e10de889c8e1766354f9",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "RKPD 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/rkpd/{id}": {
            "get": {
                "tags": [
                    "RKPD"
                ],
                "summary": "Detail RKPD",
                "operationId": "2145e3008147bf8306ab8d9bdf1d2bf2",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/RKPD"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "RKPD"
                ],
                "summary": "Update RKPD",
                "operationId": "537d3cda0312ea6c448dd477a244bd19",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "RKPD"
                ],
                "summary": "Hapus RKPD",
                "operationId": "a50f395c75395114dde4ed996ab63fb1",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/rkpd/{id}/verifikasi": {
            "post": {
                "tags": [
                    "RKPD"
                ],
                "summary": "Verifikasi RKPD",
                "operationId": "8db979069345c9baa165347994b6e446",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/rkt": {
            "get": {
                "tags": [
                    "RKT"
                ],
                "summary": "Daftar semua RKT",
                "operationId": "f71398d6e36168b95fde176153c17823",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/RKT"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "RKT"
                ],
                "summary": "Tambah RKT baru",
                "operationId": "f50757f19f8f2352bf6087f6460d76ca",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "RKT 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/rkt/{id}": {
            "get": {
                "tags": [
                    "RKT"
                ],
                "summary": "Detail RKT",
                "operationId": "e4b5bc64519bab498891685126520388",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/RKT"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "RKT"
                ],
                "summary": "Update RKT",
                "operationId": "a85957ff165da498adf62a254f2278ad",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "RKT"
                ],
                "summary": "Hapus RKT",
                "operationId": "647ed2b1fd0acd0a7c1acefe8dd1853c",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/rkt/{id}/verifikasi": {
            "post": {
                "tags": [
                    "RKT"
                ],
                "summary": "Verifikasi RKT",
                "operationId": "689178d419052065cc5f514dee6c5591",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/tlhe": {
            "get": {
                "tags": [
                    "TLHE"
                ],
                "summary": "Daftar semua TLHE",
                "operationId": "3aa872a0d0a1eb535b9823c14873b09b",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/TLHE"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "TLHE"
                ],
                "summary": "Tambah TLHE baru",
                "operationId": "894f0476e709fdd68427cc9e246c37f6",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "tahun": {
                                        "type": "integer",
                                        "example": 2026
                                    },
                                    "nama_dokumen": {
                                        "type": "string",
                                        "example": "TLHE 2026"
                                    },
                                    "file": {
                                        "description": "File PDF/DOC",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil disimpan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil disimpan (DRAFT)"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "403": {
                        "description": "Tidak memiliki akses ke OPD"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/tlhe/{id}": {
            "get": {
                "tags": [
                    "TLHE"
                ],
                "summary": "Detail TLHE",
                "operationId": "f58cec07a8913d77d2a3979d94769d95",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/TLHE"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "TLHE"
                ],
                "summary": "Update TLHE",
                "operationId": "35ca6401673465f8073e3dba2e0950de",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "tahun": {
                                        "type": "integer"
                                    },
                                    "nama_dokumen": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "TLHE"
                ],
                "summary": "Hapus TLHE",
                "operationId": "70706f0673b0cc35ff6b1b2682c1f247",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Data berhasil dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Data tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki akses"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/tlhe/{id}/verifikasi": {
            "post": {
                "tags": [
                    "TLHE"
                ],
                "summary": "Verifikasi TLHE",
                "operationId": "5464ea3889b1185ca4d614dd350d0d97",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "VERIFIED",
                                            "REJECTED",
                                            "REVISI"
                                        ]
                                    },
                                    "catatan_verifikasi": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status berhasil diubah",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Status berhasil diubah"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Dokumen tidak ditemukan"
                    },
                    "403": {
                        "description": "Tidak memiliki izin verifikasi"
                    },
                    "400": {
                        "description": "Status tidak valid atau dokumen tidak bisa diverifikasi"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/users": {
            "get": {
                "tags": [
                    "Master Data"
                ],
                "summary": "Daftar semua User",
                "operationId": "8c193024ef144757812088edf2c389e1",
                "responses": {
                    "200": {
                        "description": "Berhasil",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/User"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Master Data"
                ],
                "summary": "Tambah User baru (Super Admin only)",
                "operationId": "1a9b19866dc6c0e5e7cc7a81857bbfad",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "username": {
                                        "type": "string",
                                        "example": "johndoe"
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "john@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "format": "password",
                                        "example": "secret123"
                                    },
                                    "nama_lengkap": {
                                        "type": "string",
                                        "example": "John Doe"
                                    },
                                    "nip": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "role": {
                                        "type": "string",
                                        "enum": [
                                            "SUPER_ADMIN",
                                            "ADMIN_OPD",
                                            "OPERATOR_OPD",
                                            "VERIFICATOR",
                                            "INSPEKTORAT",
                                            "VIEWER"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User berhasil dibuat",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "User berhasil dibuat"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Hanya Super Admin yang dapat menambah user"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/users/{id}": {
            "get": {
                "tags": [
                    "Master Data"
                ],
                "summary": "Detail User",
                "operationId": "0fa38abe03a2f2419a75457c1c220362",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Data ditemukan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/User"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "User tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Master Data"
                ],
                "summary": "Update User (Super Admin only)",
                "operationId": "53be80d5ca1c93445e5a2378c1ee4480",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "opd_id": {
                                        "type": "integer"
                                    },
                                    "username": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "password": {
                                        "type": "string",
                                        "format": "password",
                                        "nullable": true
                                    },
                                    "nama_lengkap": {
                                        "type": "string"
                                    },
                                    "nip": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "role": {
                                        "type": "string",
                                        "enum": [
                                            "SUPER_ADMIN",
                                            "ADMIN_OPD",
                                            "OPERATOR_OPD",
                                            "VERIFICATOR",
                                            "INSPEKTORAT",
                                            "VIEWER"
                                        ]
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "ACTIVE",
                                            "INACTIVE",
                                            "SUSPENDED"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User berhasil diupdate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "User berhasil diupdate"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Hanya Super Admin yang dapat mengupdate user"
                    },
                    "404": {
                        "description": "User tidak ditemukan"
                    },
                    "422": {
                        "description": "Validasi gagal"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Master Data"
                ],
                "summary": "Hapus User (Super Admin only)",
                "operationId": "2731b6b3dc838518229dd20ae62fba61",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User berhasil dihapus",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "User dihapus"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token tidak valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Token tidak valid"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Hanya Super Admin yang dapat menghapus user"
                    },
                    "404": {
                        "description": "User tidak ditemukan"
                    },
                    "500": {
                        "description": "Kesalahan server internal"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "BaseResponse": {
                "properties": {
                    "status": {
                        "type": "boolean",
                        "example": true
                    },
                    "message": {
                        "type": "string",
                        "example": "Success"
                    }
                },
                "type": "object"
            },
            "BaseResponseData": {
                "properties": {
                    "status": {
                        "type": "boolean",
                        "example": true
                    },
                    "message": {
                        "type": "string",
                        "example": "Success"
                    },
                    "data": {
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "BaseResponsePaginate": {
                "properties": {
                    "status": {
                        "type": "boolean",
                        "example": true
                    },
                    "message": {
                        "type": "string",
                        "example": "Success"
                    },
                    "data": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "pagination": {
                        "properties": {
                            "currentPage": {
                                "type": "integer",
                                "example": 1
                            },
                            "perPage": {
                                "type": "integer",
                                "example": 10
                            },
                            "total": {
                                "type": "integer",
                                "example": 100
                            },
                            "lastPage": {
                                "type": "integer",
                                "example": 10
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "ErrorResponse": {
                "properties": {
                    "status": {
                        "type": "boolean",
                        "example": false
                    },
                    "message": {
                        "type": "string",
                        "example": "Error message"
                    }
                },
                "type": "object"
            },
            "ValidationErrorResponse": {
                "properties": {
                    "status": {
                        "type": "boolean",
                        "example": false
                    },
                    "message": {
                        "type": "object",
                        "example": {
                            "field": "The field is required."
                        }
                    }
                },
                "type": "object"
            },
            "DokumenBase": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "opd_id": {
                        "type": "integer",
                        "example": 1
                    },
                    "tahun": {
                        "type": "integer",
                        "example": 2026
                    },
                    "nama_dokumen": {
                        "type": "string",
                        "example": "Dokumen Contoh"
                    },
                    "nama_file": {
                        "type": "string",
                        "example": "contoh.pdf",
                        "nullable": true
                    },
                    "path_file": {
                        "type": "string",
                        "example": "uploads/dokumen_iku/contoh.pdf",
                        "nullable": true
                    },
                    "ukuran_file": {
                        "type": "integer",
                        "example": 1024,
                        "nullable": true
                    },
                    "mime_type": {
                        "type": "string",
                        "example": "application/pdf",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "example": "DRAFT",
                        "enum": [
                            "DRAFT",
                            "SUBMITTED",
                            "VERIFIED",
                            "REJECTED",
                            "REVISI"
                        ]
                    },
                    "created_by": {
                        "type": "integer",
                        "example": 1
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "IKU": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "RKPD": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "RKT": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "LKJIP": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "DPA": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "PK": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "POKIN": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "Cascade": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "AnalisisCakin": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "PengukuranKinerja": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "Paparan": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "ProsesBisnis": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "Renaksi": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "Renstra": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "Prestasi": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "LHE": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "TLHE": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "Evaluasi": {
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/DokumenBase"
                    }
                ]
            },
            "Pengumuman": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "judul": {
                        "type": "string",
                        "example": "Pengumuman Penting"
                    },
                    "isi": {
                        "type": "string",
                        "example": "Isi pengumuman..."
                    },
                    "status": {
                        "type": "string",
                        "example": "aktif"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Peraturan": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "judul": {
                        "type": "string",
                        "example": "Peraturan Baru"
                    },
                    "isi": {
                        "type": "string",
                        "example": "Isi peraturan..."
                    },
                    "status": {
                        "type": "string",
                        "example": "aktif"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Gallery": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "title": {
                        "type": "string",
                        "example": "Foto Kegiatan"
                    },
                    "image_url": {
                        "type": "string",
                        "example": "https://example.com/image.jpg"
                    },
                    "is_active": {
                        "type": "integer",
                        "example": 1
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Team": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "nama": {
                        "type": "string",
                        "example": "John Doe"
                    },
                    "jabatan": {
                        "type": "string",
                        "example": "Developer"
                    },
                    "foto": {
                        "type": "string",
                        "example": "https://example.com/photo.jpg"
                    },
                    "is_active": {
                        "type": "integer",
                        "example": 1
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "FAQ": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "pertanyaan": {
                        "type": "string",
                        "example": "Apa itu Sipakat?"
                    },
                    "jawaban": {
                        "type": "string",
                        "example": "Sipakat adalah..."
                    },
                    "is_active": {
                        "type": "integer",
                        "example": 1
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "OPD": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "nama_opd": {
                        "type": "string",
                        "example": "Dinas Pendidikan"
                    },
                    "kode_opd": {
                        "type": "string",
                        "example": "DINDIK"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "User": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "username": {
                        "type": "string",
                        "example": "admin"
                    },
                    "nama_lengkap": {
                        "type": "string",
                        "example": "Administrator"
                    },
                    "email": {
                        "type": "string",
                        "example": "admin@sipakat.local"
                    },
                    "opd_id": {
                        "type": "integer",
                        "example": 1
                    },
                    "role": {
                        "type": "string",
                        "enum": [
                            "SUPER_ADMIN",
                            "ADMIN_OPD",
                            "OPERATOR_OPD",
                            "VERIFICATOR",
                            "INSPEKTORAT"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "ACTIVE",
                            "INACTIVE"
                        ]
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Notifikasi": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "user_id": {
                        "type": "integer",
                        "example": 1
                    },
                    "judul": {
                        "type": "string",
                        "example": "Verifikasi Dokumen"
                    },
                    "pesan": {
                        "type": "string",
                        "example": "Dokumen IKU telah diverifikasi"
                    },
                    "link": {
                        "type": "string",
                        "example": "/core/dokumen-iku/show/1"
                    },
                    "tipe": {
                        "type": "string",
                        "example": "dokumen"
                    },
                    "prioritas": {
                        "type": "string",
                        "enum": [
                            "normal",
                            "urgent"
                        ]
                    },
                    "is_read": {
                        "type": "boolean",
                        "example": false
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "LoginRequest": {
                "required": [
                    "username",
                    "password"
                ],
                "properties": {
                    "username": {
                        "type": "string",
                        "example": "admin"
                    },
                    "password": {
                        "type": "string",
                        "format": "password",
                        "example": "password123"
                    }
                },
                "type": "object"
            },
            "LoginResponse": {
                "properties": {
                    "status": {
                        "type": "boolean",
                        "example": true
                    },
                    "message": {
                        "type": "string",
                        "example": "Login berhasil"
                    },
                    "data": {
                        "properties": {
                            "token": {
                                "type": "string",
                                "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
                            },
                            "user": {
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "nama_lengkap": {
                                        "type": "string",
                                        "example": "Administrator"
                                    },
                                    "opd_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "role": {
                                        "type": "string",
                                        "example": "SUPER_ADMIN"
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "UserProfile": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "username": {
                        "type": "string",
                        "example": "admin"
                    },
                    "nama_lengkap": {
                        "type": "string",
                        "example": "Administrator"
                    },
                    "email": {
                        "type": "string",
                        "example": "admin@sipakat.local"
                    },
                    "opd_id": {
                        "type": "integer",
                        "example": 1
                    },
                    "role": {
                        "type": "string",
                        "example": "SUPER_ADMIN"
                    }
                },
                "type": "object"
            }
        },
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "description": "Masukkan token JWT dengan format: Bearer {token}",
                "name": "Authorization",
                "in": "header",
                "bearerFormat": "JWT",
                "scheme": "bearer"
            }
        }
    },
    "tags": [
        {
            "name": "Analisis Cakin",
            "description": "Analisis Capaian Kinerja"
        },
        {
            "name": "Authentication",
            "description": "Autentikasi & Profil User"
        },
        {
            "name": "CMS",
            "description": "Konten Publik (Pengumuman, Peraturan, Gallery, Teams, FAQ)"
        },
        {
            "name": "IKU",
            "description": "Indikator Kinerja Utama"
        },
        {
            "name": "RKPD",
            "description": "Rencana Kerja Pembangunan Daerah"
        },
        {
            "name": "RKT",
            "description": "Rencana Kinerja Tahunan"
        },
        {
            "name": "LKJIP",
            "description": "Laporan Kinerja Instansi Pemerintah"
        },
        {
            "name": "DPA",
            "description": "Dokumen Pelaksanaan Anggaran"
        },
        {
            "name": "PK",
            "description": "Perjanjian Kinerja"
        },
        {
            "name": "POKIN",
            "description": "Peta Kinerja"
        },
        {
            "name": "Cascade",
            "description": "Cascade Kinerja"
        },
        {
            "name": "Pengukuran Kinerja",
            "description": "Pengukuran Kinerja"
        },
        {
            "name": "Paparan",
            "description": "Paparan Kinerja"
        },
        {
            "name": "Proses Bisnis",
            "description": "Proses Bisnis"
        },
        {
            "name": "Renaksi",
            "description": "Rencana Aksi"
        },
        {
            "name": "Renstra",
            "description": "Rencana Strategis"
        },
        {
            "name": "Prestasi",
            "description": "Prestasi"
        },
        {
            "name": "LHE",
            "description": "Laporan Hasil Evaluasi"
        },
        {
            "name": "TLHE",
            "description": "Tindak Lanjut Hasil Evaluasi"
        },
        {
            "name": "Evaluasi",
            "description": "Evaluasi"
        },
        {
            "name": "Master Data",
            "description": "Data Master (OPD & User)"
        },
        {
            "name": "Notifikasi",
            "description": "Notifikasi Pengguna"
        }
    ]
}