{"openapi":"3.0.3","info":{"title":"G-Verse API","version":"1.0.0","description":"API Golkar Virtual Ecosystem (modular monolith Hono). Autentikasi: Bearer JWT (RBAC kader/pengurus/masyarakat/admin + region scope). Semua respons memakai envelope standar docs/05-api-design.md. Endpoint publik terdokumentasi tidak butuh token."},"servers":[{"url":"/","description":"Server ini"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"bearerAuth":[]}],"paths":{"/health":{"get":{"tags":["Sistem"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/health/ready":{"get":{"tags":["Sistem"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/auth/login":{"post":{"tags":["Auth"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/auth/refresh":{"post":{"tags":["Auth"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/auth/logout":{"post":{"tags":["Auth"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/auth/me/email":{"patch":{"tags":["Auth"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/auth/forgot-password":{"post":{"tags":["Auth"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/auth/reset-password":{"post":{"tags":["Auth"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/regions":{"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/regions/{id}/ancestors":{"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members":{"post":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members/me":{"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members/sweep-status":{"post":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members/me/timeline":{"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members/export":{"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members/{id}":{"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members/{id}/status":{"patch":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members/{id}/card":{"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/cards/verify":{"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members/{id}/mutate":{"post":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members/{id}/mutations":{"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/legislators":{"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"post":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/legislators/{id}":{"patch":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/cards/print-batch":{"get":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members/me/photo":{"patch":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/members/me/affiliation":{"patch":{"tags":["G-ID"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/analytics/map":{"get":{"tags":["G-ANALYTICS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/analytics/issues":{"get":{"tags":["G-ANALYTICS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/analytics/issues/by-region":{"get":{"tags":["G-ANALYTICS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/analytics/targets":{"put":{"tags":["G-ANALYTICS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-ANALYTICS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/analytics/care-sla":{"get":{"tags":["G-ANALYTICS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/analytics/compare":{"get":{"tags":["G-ANALYTICS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/analytics/trends":{"get":{"tags":["G-ANALYTICS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/analytics/leaderboard":{"get":{"tags":["G-ANALYTICS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/analytics/overview":{"get":{"tags":["G-ANALYTICS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/analytics/tech-metrics":{"get":{"tags":["G-ANALYTICS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/articles":{"get":{"tags":["G-NEWS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"post":{"tags":["G-NEWS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/articles/drafts":{"get":{"tags":["G-NEWS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/articles/{slug}":{"get":{"tags":["G-NEWS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/articles/{id}/publish":{"patch":{"tags":["G-NEWS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events":{"get":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"post":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/agenda.ics":{"get":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events/stats":{"get":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events/recap":{"get":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events/recap/export":{"get":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events/send-reminders":{"post":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events/{id}/qr":{"get":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events/{id}/register":{"post":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events/{id}/attendances":{"post":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events/{id}/checkout":{"post":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events/{id}/issue-certificates":{"post":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events/{id}/certificates":{"get":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/event-certificates/mine":{"get":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/event-certificates/verify":{"get":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/events/{id}/report":{"post":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-WORKS"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/aspirations":{"post":{"tags":["G-CARE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-CARE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/aspirations/mine":{"get":{"tags":["G-CARE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/aspirations/overdue":{"get":{"tags":["G-CARE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/aspirations/escalate-overdue":{"post":{"tags":["G-CARE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/aspirations/export":{"get":{"tags":["G-CARE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/aspirations/{id}/similar":{"get":{"tags":["G-CARE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/aspirations/{id}/timeline":{"get":{"tags":["G-CARE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/aspirations/{id}/status":{"patch":{"tags":["G-CARE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/polls/active":{"get":{"tags":["Polling"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/polls/archive":{"get":{"tags":["Polling"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/polls":{"post":{"tags":["Polling"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/polls/{id}/votes":{"post":{"tags":["Polling"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/courses":{"get":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"post":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/courses/{id}/lessons":{"get":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"post":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/lessons/{id}/complete":{"post":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/courses/{id}/progress":{"get":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/courses/{id}":{"patch":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/lessons/{id}":{"patch":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"delete":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/courses/{id}/sessions":{"post":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/courses/{id}/quiz":{"post":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/courses/{id}/quiz/submit":{"post":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/courses/{id}/enroll":{"post":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/courses/{id}/enroll-batch":{"post":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/courses/{id}/complete":{"post":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/academy/leaderboard":{"get":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/certificates/mine":{"get":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/certificates/verify":{"get":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/courses/{id}/discussions":{"post":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/discussions/{id}/moderate":{"patch":{"tags":["G-ACADEMY"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/letters":{"post":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/letters/{id}":{"get":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/letters/{id}/submit-review":{"patch":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/letters/{id}/return-draft":{"patch":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/letters/{id}/sign":{"post":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/letters/{id}/dispositions":{"post":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/office/recipients":{"get":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/dispositions/inbox":{"get":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/dispositions/{id}/done":{"patch":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/dispositions/escalate-overdue":{"post":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/incoming-letters":{"post":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-OFFICE"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/ai/kb":{"get":{"tags":["G-AI"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/ai/conversations":{"post":{"tags":["G-AI"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-AI"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/ai/conversations/{id}/messages":{"get":{"tags":["G-AI"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"post":{"tags":["G-AI"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/ai/sentiment":{"get":{"tags":["G-AI"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/ai/daily-brief":{"get":{"tags":["G-AI"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/ai/press-release":{"post":{"tags":["G-AI"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/ai/letter-draft":{"post":{"tags":["G-AI"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/ai/usage/summary":{"get":{"tags":["G-AI"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/volunteers":{"post":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/polling-stations":{"post":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/assignments":{"post":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/assignments/mine":{"get":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/assignments/schedule":{"get":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/assignments/{id}/status":{"patch":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/assignments/{id}/reports":{"post":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/assignments/{id}/tps-result":{"post":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/witness-reports/incidents":{"get":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/tps-coverage":{"get":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/tps-results/summary":{"get":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/tps-results/by-kecamatan":{"get":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/volunteers/broadcast":{"post":{"tags":["G-VOLUNTEER"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/merchants":{"post":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/merchants/{id}/verify":{"patch":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/merchants/mine":{"get":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/merchants/pending":{"get":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/products":{"post":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/merchants/{id}":{"get":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/products/{id}/reviews":{"post":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/reviews/{id}/moderate":{"patch":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/merchants/{id}/leads":{"post":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/merchants/{id}/leads/stats":{"get":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/orders/payment-config":{"get":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/orders":{"post":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/orders/mine":{"get":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/orders/{id}/manual-proof":{"post":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/orders/{id}/verify":{"patch":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/orders/{id}/midtrans":{"post":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/payments/midtrans/notify":{"post":{"tags":["G-MARKET"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/notifications":{"get":{"tags":["Notifikasi"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/notifications/unread-count":{"get":{"tags":["Notifikasi"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/notifications/read-all":{"post":{"tags":["Notifikasi"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/notifications/{id}/read":{"post":{"tags":["Notifikasi"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/notifications/device-token":{"post":{"tags":["Notifikasi"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"delete":{"tags":["Notifikasi"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/org-units":{"get":{"tags":["Organisasi"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"post":{"tags":["Organisasi"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/org-units/{id}/positions":{"get":{"tags":["Organisasi"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"post":{"tags":["Organisasi"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/positions/{id}/end":{"patch":{"tags":["Organisasi"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/schemas/data-export-v1.json":{"get":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/me/data-export":{"get":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/me/erasure-requests":{"post":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/me/erasure-requests/{id}/cancel":{"post":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/erasure-requests":{"get":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/erasure-requests/{id}/review":{"post":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/me/correction-requests":{"post":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/me/correction-requests/{id}/cancel":{"post":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/correction-requests":{"get":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/correction-requests/{id}/value":{"get":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/correction-requests/{id}/review":{"post":{"tags":["Privasi (UU PDP)"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/files":{"post":{"tags":["Berkas"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/files/{name}":{"get":{"tags":["Berkas"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/attachments":{"post":{"tags":["Berkas"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["Berkas"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/api/v1/attachments/{id}":{"delete":{"tags":["Berkas"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/files":{"post":{"tags":["Berkas"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/files/{name}":{"get":{"tags":["Berkas"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/attachments":{"post":{"tags":["Berkas"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}},"get":{"tags":["Berkas"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/attachments/{id}":{"delete":{"tags":["Berkas"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}},"/openapi.json":{"get":{"tags":["Sistem"],"summary":"","responses":{"200":{"description":"Sukses — envelope { success, data, meta? }"},"4XX":{"description":"Gagal — envelope { success:false, error:{ code, message } }"}}}}}}