{"groups":[{"basePath":"/v1","description":"Endpoint dasar untuk health check dan dokumentasi API.","id":"system","title":"System","endpoints":[{"auth":"Public","examplePath":"/v1/health","id":"system-health","method":"GET","path":"/v1/health","status":"Ready","summary":"Cek status API service."},{"auth":"Public","examplePath":"/v1/docs","id":"system-docs","method":"GET","path":"/v1/docs","status":"Ready","summary":"Ambil katalog API dalam format JSON."}]},{"basePath":"/v1/web","description":"API untuk website customer: marketplace, account, booking, payment, support, dan SEO.","id":"web","title":"Customer Web","endpoints":[{"auth":"Public","examplePath":"/v1/web","id":"web-root","method":"GET","path":"/v1/web","status":"Supabase read","summary":"Info module yang tersedia di Web API."},{"auth":"Public","examplePath":"/v1/web/marketplace/home","id":"web-marketplace-home","method":"GET","path":"/v1/web/marketplace/home","status":"Supabase read","summary":"Data homepage marketplace: properti unggulan, promo, dan FAQ."},{"auth":"Public","examplePath":"/v1/web/marketplace/properties?tenant=Putra&sort=rating_desc","id":"web-marketplace-properties","method":"GET","path":"/v1/web/marketplace/properties","query":"q, area, tenant, facilities, min_price, max_price, sort","status":"Supabase read","summary":"List properti marketplace dengan filter pencarian."},{"auth":"Public","examplePath":"/v1/web/marketplace/properties/kosan-q-setiabudi","id":"web-marketplace-property-detail","method":"GET","path":"/v1/web/marketplace/properties/{slug}","status":"Supabase read","summary":"Detail properti berdasarkan slug."},{"auth":"Public","examplePath":"/v1/web/marketplace/rooms/203","id":"web-marketplace-room-detail","method":"GET","path":"/v1/web/marketplace/rooms/{roomId}","status":"Supabase read","summary":"Detail kamar dan properti induknya."},{"auth":"Public","examplePath":"/v1/web/marketplace/promotions","id":"web-promotions","method":"GET","path":"/v1/web/marketplace/promotions","status":"Supabase read","summary":"List promo aktif untuk website."},{"auth":"Public","examplePath":"/v1/web/marketplace/faqs","id":"web-marketplace-faqs","method":"GET","path":"/v1/web/marketplace/faqs","status":"Supabase read","summary":"FAQ marketplace customer."},{"auth":"Public","examplePath":"/v1/web/seo/locations","id":"web-seo-locations","method":"GET","path":"/v1/web/seo/locations","status":"Supabase read","summary":"Data direktori lokasi SEO: kota, area, kampus, kategori."},{"auth":"Public","examplePath":"/v1/web/seo/locations/bandung","id":"web-seo-bandung","method":"GET","path":"/v1/web/seo/locations/bandung","status":"Supabase read","summary":"Data landing SEO kota Bandung."},{"auth":"Public","examplePath":"/v1/web/seo/locations/bandung/setiabudi","id":"web-seo-setiabudi","method":"GET","path":"/v1/web/seo/locations/bandung/setiabudi","status":"Supabase read","summary":"Data landing SEO area Setiabudi."},{"auth":"Public","examplePath":"/v1/web/seo/campuses/itb","id":"web-seo-campus-itb","method":"GET","path":"/v1/web/seo/campuses/itb","status":"Supabase read","summary":"Data landing SEO kos dekat ITB."},{"auth":"Public","examplePath":"/v1/web/seo/categories/kos-putri","id":"web-seo-kos-putri","method":"GET","path":"/v1/web/seo/categories/kos-putri","status":"Supabase read","summary":"Data landing SEO kategori kos putri."},{"auth":"Public","examplePath":"/v1/web/legal/navigation","id":"web-legal-navigation","method":"GET","path":"/v1/web/legal/navigation","status":"Supabase read","summary":"Navigasi dokumen legal."},{"auth":"Public","examplePath":"/v1/web/legal/refund","id":"web-legal-document","method":"GET","path":"/v1/web/legal/{terms|privacy|refund|community|cookie}","status":"Supabase read","summary":"Detail dokumen legal beserta section."},{"auth":"Customer","examplePath":"/v1/web/account/summary","id":"web-account-summary","method":"GET","path":"/v1/web/account/summary","status":"Supabase read","summary":"Ringkasan dashboard customer."},{"auth":"Customer","examplePath":"/v1/web/account/profile","id":"web-account-profile","method":"GET","path":"/v1/web/account/profile","status":"Supabase read","summary":"Profil customer aktif."},{"auth":"Customer","body":"{ name, phone, city, address, bio }","id":"web-account-profile-update","method":"PATCH","path":"/v1/web/account/profile","status":"Mutation stub","summary":"Update profil customer."},{"auth":"Customer","examplePath":"/v1/web/account/preferences","id":"web-account-preferences","method":"GET","path":"/v1/web/account/preferences","status":"Supabase read","summary":"Preferensi pencarian customer."},{"auth":"Customer","examplePath":"/v1/web/account/favorites","id":"web-account-favorites","method":"GET","path":"/v1/web/account/{favorites|history|recommendations}","status":"Supabase read","summary":"Properti favorit, riwayat, atau rekomendasi customer."},{"auth":"Customer","examplePath":"/v1/web/account/notifications","id":"web-account-notifications","method":"GET","path":"/v1/web/account/notifications","status":"Supabase read","summary":"List notifikasi customer."},{"auth":"Customer","examplePath":"/v1/web/bookings","id":"web-bookings","method":"GET","path":"/v1/web/bookings","query":"status","status":"Supabase read","summary":"List booking customer."},{"auth":"Customer","examplePath":"/v1/web/bookings/green-house","id":"web-booking-detail","method":"GET","path":"/v1/web/bookings/{id}","status":"Supabase read","summary":"Detail booking customer."},{"auth":"Customer","body":"{ propertySlug, roomId, checkIn, idempotencyKey }","id":"web-booking-application","method":"POST","path":"/v1/web/bookings/applications","status":"Mutation stub","summary":"Kirim pengajuan sewa atau booking."},{"auth":"Customer","body":"{ reason, idempotencyKey }","id":"web-booking-cancel","method":"PATCH","path":"/v1/web/bookings/{id}/cancel","status":"Mutation stub","summary":"Ajukan pembatalan booking."},{"auth":"Customer","examplePath":"/v1/web/payments/checkout","id":"web-payments-checkout","method":"GET","path":"/v1/web/payments/checkout","status":"Supabase read","summary":"Data checkout pembayaran customer."},{"auth":"Customer","examplePath":"/v1/web/payments/methods","id":"web-payment-methods","method":"GET","path":"/v1/web/payments/methods","status":"Supabase read","summary":"Metode pembayaran aktif."},{"auth":"Customer","examplePath":"/v1/web/payments/transactions","id":"web-payment-transactions","method":"GET","path":"/v1/web/payments/transactions","query":"q, status","status":"Supabase read","summary":"Riwayat transaksi pembayaran customer."},{"auth":"Customer","examplePath":"/v1/web/payments/transactions/trx-20250510","id":"web-payment-transaction-detail","method":"GET","path":"/v1/web/payments/transactions/{id}","status":"Supabase read","summary":"Detail transaksi pembayaran."},{"auth":"Customer","body":"{ idempotencyKey }","id":"web-payment-retry","method":"POST","path":"/v1/web/payments/transactions/{id}/retry","status":"Mutation stub","summary":"Buat ulang proses pembayaran dari transaksi gagal atau expired."},{"auth":"Customer","examplePath":"/v1/web/inbox/conversations","id":"web-inbox-conversations","method":"GET","path":"/v1/web/inbox/conversations","query":"q, filter","status":"Supabase read","summary":"List percakapan customer dengan owner."},{"auth":"Customer","examplePath":"/v1/web/inbox/conversations/green-house","id":"web-inbox-detail","method":"GET","path":"/v1/web/inbox/conversations/{id}","status":"Supabase read","summary":"Detail percakapan dan pesan."},{"auth":"Public","examplePath":"/v1/web/support/overview","id":"web-support-overview","method":"GET","path":"/v1/web/support/overview","status":"Supabase read","summary":"Overview pusat bantuan."},{"auth":"Public","examplePath":"/v1/web/support/articles","id":"web-support-articles","method":"GET","path":"/v1/web/support/articles","query":"q","status":"Supabase read","summary":"List artikel bantuan."},{"auth":"Customer","examplePath":"/v1/web/support/tickets","id":"web-support-tickets","method":"GET","path":"/v1/web/support/tickets","query":"status","status":"Supabase read","summary":"List tiket bantuan customer."},{"auth":"Customer","examplePath":"/v1/web/support/tickets/TIK-250510-0042","id":"web-support-ticket-detail","method":"GET","path":"/v1/web/support/tickets/{id}","status":"Supabase read","summary":"Detail tiket bantuan customer."},{"auth":"Customer","body":"{ email, password }","id":"web-auth-sign-in","method":"POST","path":"/v1/web/auth/sign-in","status":"Mutation stub","summary":"Auth sign in customer."},{"auth":"Customer","body":"{ email, password, name }","id":"web-auth-sign-up","method":"POST","path":"/v1/web/auth/sign-up","status":"Mutation stub","summary":"Auth sign up customer."}]},{"basePath":"/v1/customer-service","description":"API realtime customer service untuk customer, owner, dan admin dashboard.","id":"customer_service","title":"Customer Service","endpoints":[{"auth":"Authenticated","examplePath":"/v1/customer-service/conversations?topic=support","id":"customer-service-conversations","method":"GET","path":"/v1/customer-service/conversations","query":"topic","status":"Supabase read","summary":"List percakapan customer service sesuai akses RLS pengguna."},{"auth":"Authenticated","body":"{ topic, subject, body }","id":"customer-service-conversation-create","method":"POST","path":"/v1/customer-service/conversations","status":"Ready","summary":"Buka chat customer service baru."},{"auth":"Authenticated","examplePath":"/v1/customer-service/conversations/{id}/messages","id":"customer-service-messages","method":"GET","path":"/v1/customer-service/conversations/{id}/messages","status":"Supabase read","summary":"List pesan dalam percakapan customer service."},{"auth":"Authenticated","body":"{ body }","id":"customer-service-message-create","method":"POST","path":"/v1/customer-service/conversations/{id}/messages","status":"Ready","summary":"Kirim pesan customer service sebagai customer, owner, atau admin."}]},{"basePath":"/v1/mobile","description":"API native untuk mobile app tenant dan owner: bootstrap, discovery, booking, payment, account, trust, inbox, support, dan owner operations.","id":"mobile","title":"Mobile Apps","endpoints":[{"auth":"Public","examplePath":"/v1/mobile","id":"mobile-root","method":"GET","path":"/v1/mobile","status":"Supabase read","summary":"Info module yang tersedia untuk mobile app."},{"auth":"Public","examplePath":"/v1/mobile/bootstrap?role=tenant&platform=android","id":"mobile-bootstrap","method":"GET","path":"/v1/mobile/bootstrap","query":"role, platform, appVersion, buildNumber","status":"Supabase read","summary":"Konfigurasi awal mobile app, feature flags, cache policy, dan support contact."},{"auth":"Customer","examplePath":"/v1/mobile/session/me","id":"mobile-session-me","method":"GET","path":"/v1/mobile/session/me","status":"Not implemented","summary":"Profil session mobile aktif berdasarkan token user."},{"auth":"Public","body":"{ email, password, role }","id":"mobile-auth-sign-in","method":"POST","path":"/v1/mobile/auth/sign-in","status":"Mutation stub","summary":"Login mobile tenant atau owner."},{"auth":"Public","body":"{ fullName, email, password, role }","id":"mobile-auth-sign-up","method":"POST","path":"/v1/mobile/auth/sign-up","status":"Mutation stub","summary":"Registrasi mobile dan kirim verifikasi email."},{"auth":"Public","body":"{ email, code, role }","id":"mobile-auth-verify-email","method":"POST","path":"/v1/mobile/auth/verify-email","status":"Mutation stub","summary":"Verifikasi kode email mobile."},{"auth":"Public","body":"{ email }","id":"mobile-auth-forgot-password","method":"POST","path":"/v1/mobile/auth/forgot-password","status":"Mutation stub","summary":"Kirim email reset password mobile."},{"auth":"Customer","body":"{ refreshToken }","id":"mobile-auth-refresh","method":"POST","path":"/v1/mobile/auth/refresh","status":"Mutation stub","summary":"Refresh token session mobile."},{"auth":"Customer","id":"mobile-auth-sign-out","method":"POST","path":"/v1/mobile/auth/sign-out","status":"Mutation stub","summary":"Sign out dan revoke session mobile."},{"auth":"Customer","examplePath":"/v1/mobile/devices","id":"mobile-devices","method":"GET","path":"/v1/mobile/devices","status":"Not implemented","summary":"List perangkat mobile aktif untuk akun."},{"auth":"Customer","body":"{ installationId, platform, pushToken, appVersion, deviceModel, role, idempotencyKey }","id":"mobile-device-register","method":"POST","path":"/v1/mobile/devices","status":"Ready","summary":"Daftarkan device dan push token Expo/APNS/FCM."},{"auth":"Customer","id":"mobile-device-heartbeat","method":"PATCH","path":"/v1/mobile/devices/{id}/heartbeat","status":"Ready","summary":"Update last seen perangkat mobile."},{"auth":"Customer","id":"mobile-device-remove","method":"DELETE","path":"/v1/mobile/devices/{id}","status":"Ready","summary":"Hapus perangkat dari akun."},{"auth":"Customer","body":"{ name, payload, occurredAt }","id":"mobile-events","method":"POST","path":"/v1/mobile/events","status":"Ready","summary":"Terima event telemetry ringan dari mobile app."},{"auth":"Public","examplePath":"/v1/mobile/discover/home","id":"mobile-discover-home","method":"GET","path":"/v1/mobile/discover/home","query":"location, lat, lng","status":"Supabase read","summary":"Homepage discovery mobile: featured listings, kategori, promo, filter, dan FAQ."},{"auth":"Public","examplePath":"/v1/mobile/discover/listings?tenant=Putra&maxBudget=1800000","id":"mobile-discover-listings","method":"GET","path":"/v1/mobile/discover/listings","query":"q, area, tenant, gender, amenities, rules, minBudget, maxBudget, verifiedOnly, availableOnly, sort","status":"Supabase read","summary":"List kartu kos mobile dengan filter discovery."},{"auth":"Public","examplePath":"/v1/mobile/discover/map?area=Dago","id":"mobile-discover-map","method":"GET","path":"/v1/mobile/discover/map","query":"q, area, tenant, amenities, maxBudget","status":"Supabase read","summary":"Pin peta kos untuk mobile map view."},{"auth":"Public","examplePath":"/v1/mobile/discover/filters","id":"mobile-discover-filters","method":"GET","path":"/v1/mobile/discover/filters","status":"Supabase read","summary":"Opsi filter native: budget, fasilitas, rules, periode, dan tipe kos."},{"auth":"Public","examplePath":"/v1/mobile/discover/locations","id":"mobile-discover-locations","method":"GET","path":"/v1/mobile/discover/locations","status":"Supabase read","summary":"Lokasi populer, lokasi terakhir, dan lokasi aktif user."},{"auth":"Customer","examplePath":"/v1/mobile/discover/saved-searches","id":"mobile-saved-searches","method":"GET","path":"/v1/mobile/discover/saved-searches","status":"Not implemented","summary":"List saved search mobile."},{"auth":"Customer","body":"{ label, filters, idempotencyKey }","id":"mobile-saved-search-create","method":"POST","path":"/v1/mobile/discover/saved-searches","status":"Ready","summary":"Simpan filter pencarian dan aktifkan alert."},{"auth":"Customer","id":"mobile-saved-search-delete","method":"DELETE","path":"/v1/mobile/discover/saved-searches/{id}","status":"Ready","summary":"Hapus saved search mobile."},{"auth":"Public","examplePath":"/v1/mobile/listings/kosan-q-setiabudi","id":"mobile-listing-detail","method":"GET","path":"/v1/mobile/listings/{id}","status":"Supabase read","summary":"Detail listing mobile beserta trust summary dan properti sekitar."},{"auth":"Public","examplePath":"/v1/mobile/listings/kosan-q-setiabudi/gallery","id":"mobile-listing-gallery","method":"GET","path":"/v1/mobile/listings/{id}/gallery","status":"Supabase read","summary":"Galeri foto/video listing mobile."},{"auth":"Public","examplePath":"/v1/mobile/listings/kosan-q-setiabudi/rooms","id":"mobile-listing-rooms","method":"GET","path":"/v1/mobile/listings/{id}/rooms","status":"Supabase read","summary":"Opsi kamar listing untuk flow booking mobile."},{"auth":"Customer","id":"mobile-listing-favorite-add","method":"POST","path":"/v1/mobile/listings/{id}/favorite","status":"Ready","summary":"Tambah listing ke favorit."},{"auth":"Customer","id":"mobile-listing-favorite-remove","method":"DELETE","path":"/v1/mobile/listings/{id}/favorite","status":"Ready","summary":"Hapus listing dari favorit."},{"auth":"Customer","body":"{ reason, idempotencyKey }","id":"mobile-listing-contact-disclosure","method":"POST","path":"/v1/mobile/listings/{id}/contact-disclosure","status":"Ready","summary":"Buka kontak owner dengan audit disclosure."},{"auth":"Customer","body":"{ preferredAt, note, idempotencyKey }","id":"mobile-listing-survey-request","method":"POST","path":"/v1/mobile/listings/{id}/survey-requests","status":"Ready","summary":"Ajukan jadwal survey dari detail listing."},{"auth":"Customer","examplePath":"/v1/mobile/bookings","id":"mobile-bookings","method":"GET","path":"/v1/mobile/bookings","query":"status","status":"Supabase read","summary":"List booking dan pengajuan aktif mobile."},{"auth":"Customer","examplePath":"/v1/mobile/bookings/green-house","id":"mobile-booking-detail","method":"GET","path":"/v1/mobile/bookings/{id}","status":"Supabase read","summary":"Detail booking mobile."},{"auth":"Customer","body":"{ listingId, roomId, moveInDate, duration, paymentMethod, voucherApplied, idempotencyKey }","id":"mobile-booking-application-create","method":"POST","path":"/v1/mobile/bookings/applications","status":"Ready","summary":"Kirim pengajuan sewa dari booking flow mobile."},{"auth":"Customer","body":"{ fullName, whatsapp, emergencyContact, emergencyPhone, idempotencyKey }","id":"mobile-booking-profile-save","method":"PATCH","path":"/v1/mobile/bookings/{id}/profile","status":"Ready","summary":"Simpan data profil penyewa untuk booking."},{"auth":"Customer","body":"{ roomId, duration, voucherApplied, idempotencyKey }","id":"mobile-booking-payment-intent","method":"POST","path":"/v1/mobile/bookings/{id}/payment-intent","status":"Ready","summary":"Buat payment intent untuk booking mobile."},{"auth":"Customer","body":"{ reason, idempotencyKey }","id":"mobile-booking-cancel","method":"PATCH","path":"/v1/mobile/bookings/{id}/cancel","status":"Ready","summary":"Batalkan booking atau pengajuan sewa."},{"auth":"Customer","body":"{ preferredAt, note, idempotencyKey }","id":"mobile-booking-survey","method":"PATCH","path":"/v1/mobile/bookings/{id}/survey","status":"Ready","summary":"Ubah atau ajukan jadwal survey booking."},{"auth":"Customer","examplePath":"/v1/mobile/payments/checkout?roomId=203&duration=3%20Bulan","id":"mobile-payment-checkout","method":"GET","path":"/v1/mobile/payments/checkout","query":"roomId, duration, voucherApplied","status":"Supabase read","summary":"Rincian checkout mobile."},{"auth":"Customer","examplePath":"/v1/mobile/payments/methods","id":"mobile-payment-methods","method":"GET","path":"/v1/mobile/payments/methods","status":"Supabase read","summary":"Metode pembayaran mobile."},{"auth":"Customer","body":"{ type, token, isDefault, idempotencyKey }","id":"mobile-payment-method-create","method":"POST","path":"/v1/mobile/payments/methods","status":"Ready","summary":"Simpan metode pembayaran baru."},{"auth":"Customer","examplePath":"/v1/mobile/payments/transactions","id":"mobile-payment-transactions","method":"GET","path":"/v1/mobile/payments/transactions","query":"q, status","status":"Supabase read","summary":"Riwayat transaksi mobile."},{"auth":"Customer","examplePath":"/v1/mobile/payments/transactions/trx-20250510","id":"mobile-payment-transaction-detail","method":"GET","path":"/v1/mobile/payments/transactions/{id}","status":"Supabase read","summary":"Detail transaksi pembayaran mobile."},{"auth":"Customer","body":"{ idempotencyKey }","id":"mobile-payment-retry","method":"POST","path":"/v1/mobile/payments/transactions/{id}/retry","status":"Ready","summary":"Retry pembayaran dari transaksi mobile."},{"auth":"Customer","id":"mobile-payment-receipt","method":"POST","path":"/v1/mobile/payments/transactions/{id}/receipt","status":"Ready","summary":"Buat link receipt pembayaran."},{"auth":"Customer","examplePath":"/v1/mobile/account/summary","id":"mobile-account-summary","method":"GET","path":"/v1/mobile/account/summary","status":"Supabase read","summary":"Ringkasan akun customer mobile."},{"auth":"Customer","examplePath":"/v1/mobile/account/profile","id":"mobile-account-profile","method":"GET","path":"/v1/mobile/account/profile","status":"Supabase read","summary":"Profil customer mobile."},{"auth":"Customer","body":"{ name, phone, city, address, bio }","id":"mobile-account-profile-update","method":"PATCH","path":"/v1/mobile/account/profile","status":"Ready","summary":"Update profil customer mobile."},{"auth":"Customer","examplePath":"/v1/mobile/account/favorites","id":"mobile-account-favorites","method":"GET","path":"/v1/mobile/account/{favorites|history|recommendations}","status":"Supabase read","summary":"Favorit, riwayat, dan rekomendasi customer mobile."},{"auth":"Customer","examplePath":"/v1/mobile/account/notifications","id":"mobile-account-notifications","method":"GET","path":"/v1/mobile/account/notifications","status":"Supabase read","summary":"List notifikasi customer mobile."},{"auth":"Customer","examplePath":"/v1/mobile/account/notifications/preferences","id":"mobile-account-notification-preferences","method":"GET","path":"/v1/mobile/account/notifications/preferences","status":"Not implemented","summary":"Preferensi notifikasi mobile."},{"auth":"Customer","id":"mobile-account-notifications-read-all","method":"PATCH","path":"/v1/mobile/account/notifications/read-all","status":"Ready","summary":"Tandai semua notifikasi sebagai sudah dibaca."},{"auth":"Customer","examplePath":"/v1/mobile/account/rewards","id":"mobile-account-rewards","method":"GET","path":"/v1/mobile/account/rewards","status":"Not implemented","summary":"Poin dan tier rewards customer mobile."},{"auth":"Customer","examplePath":"/v1/mobile/trust/document-verification","id":"mobile-document-verification","method":"GET","path":"/v1/mobile/trust/document-verification","status":"Not implemented","summary":"Status verifikasi dokumen customer."},{"auth":"Customer","body":"{ fileName, mimeType, byteSize, documentType, idempotencyKey }","id":"mobile-document-upload-intent","method":"POST","path":"/v1/mobile/trust/document-upload-intents","status":"Ready","summary":"Buat signed upload intent untuk dokumen identitas."},{"auth":"Customer","body":"{ documentType, documentNumber, objectKey, idempotencyKey }","id":"mobile-document-verification-submit","method":"POST","path":"/v1/mobile/trust/document-verifications","status":"Ready","summary":"Kirim dokumen ke antrean verifikasi."},{"auth":"Customer","body":"{ category, description, idempotencyKey }","id":"mobile-security-report","method":"POST","path":"/v1/mobile/trust/security-reports","status":"Ready","summary":"Laporkan kendala keamanan dari mobile."},{"auth":"Customer","examplePath":"/v1/mobile/inbox/conversations","id":"mobile-inbox-conversations","method":"GET","path":"/v1/mobile/inbox/conversations","query":"q, filter","status":"Supabase read","summary":"List percakapan mobile customer-owner."},{"auth":"Customer","examplePath":"/v1/mobile/inbox/conversations/green-house","id":"mobile-inbox-detail","method":"GET","path":"/v1/mobile/inbox/conversations/{id}","status":"Supabase read","summary":"Detail percakapan mobile."},{"auth":"Customer","body":"{ body, idempotencyKey }","id":"mobile-inbox-message","method":"POST","path":"/v1/mobile/inbox/conversations/{id}/messages","status":"Ready","summary":"Kirim pesan dari mobile."},{"auth":"Customer","id":"mobile-inbox-read","method":"PATCH","path":"/v1/mobile/inbox/conversations/{id}/read","status":"Ready","summary":"Tandai percakapan mobile sudah dibaca."},{"auth":"Public","examplePath":"/v1/mobile/support/overview","id":"mobile-support-overview","method":"GET","path":"/v1/mobile/support/overview","status":"Supabase read","summary":"Overview pusat bantuan mobile."},{"auth":"Public","examplePath":"/v1/mobile/support/categories","id":"mobile-support-categories","method":"GET","path":"/v1/mobile/support/categories","status":"Supabase read","summary":"Kategori bantuan mobile."},{"auth":"Public","examplePath":"/v1/mobile/support/articles?q=pembayaran","id":"mobile-support-articles","method":"GET","path":"/v1/mobile/support/articles","query":"q","status":"Supabase read","summary":"List artikel bantuan mobile."},{"auth":"Customer","examplePath":"/v1/mobile/support/tickets","id":"mobile-support-tickets","method":"GET","path":"/v1/mobile/support/tickets","query":"status","status":"Supabase read","summary":"List tiket bantuan customer mobile."},{"auth":"Customer","body":"{ subject, category, priority, body, idempotencyKey }","id":"mobile-support-ticket-create","method":"POST","path":"/v1/mobile/support/tickets","status":"Ready","summary":"Buat tiket bantuan dari mobile."},{"auth":"Customer","body":"{ body, idempotencyKey }","id":"mobile-support-ticket-message","method":"POST","path":"/v1/mobile/support/tickets/{id}/messages","status":"Ready","summary":"Balas tiket bantuan dari mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/home","id":"mobile-owner-home","method":"GET","path":"/v1/mobile/owner/home","status":"Not implemented","summary":"Home ringkas owner mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/dashboard","id":"mobile-owner-dashboard","method":"GET","path":"/v1/mobile/owner/dashboard","status":"Not implemented","summary":"Dashboard operasional owner mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/properties","id":"mobile-owner-properties","method":"GET","path":"/v1/mobile/owner/properties","status":"Not implemented","summary":"List properti owner mobile."},{"auth":"Owner","body":"{ name, address, area, description, facilities, rules, idempotencyKey }","id":"mobile-owner-property-create","method":"POST","path":"/v1/mobile/owner/properties","status":"Ready","summary":"Buat properti dari mobile owner."},{"auth":"Owner","examplePath":"/v1/mobile/owner/rooms","id":"mobile-owner-rooms","method":"GET","path":"/v1/mobile/owner/rooms","status":"Not implemented","summary":"List kamar owner mobile."},{"auth":"Owner","body":"{ name, type, price, capacity, facilities, propertyId, idempotencyKey }","id":"mobile-owner-room-create","method":"POST","path":"/v1/mobile/owner/rooms","status":"Ready","summary":"Buat kamar dari mobile owner."},{"auth":"Owner","body":"{ status, nextAvailableAt, maintenanceNote, idempotencyKey }","id":"mobile-owner-room-availability","method":"PATCH","path":"/v1/mobile/owner/rooms/{id}/availability","status":"Ready","summary":"Update ketersediaan kamar dari mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/media","id":"mobile-owner-media","method":"GET","path":"/v1/mobile/owner/media","status":"Not implemented","summary":"Status kelengkapan media properti owner."},{"auth":"Owner","body":"{ fileName, mimeType, byteSize, idempotencyKey }","id":"mobile-owner-media-upload-intent","method":"POST","path":"/v1/mobile/owner/media/upload-intents","status":"Ready","summary":"Buat upload intent media properti."},{"auth":"Owner","examplePath":"/v1/mobile/owner/inventory","id":"mobile-owner-inventory","method":"GET","path":"/v1/mobile/owner/inventory","status":"Not implemented","summary":"Inventaris kamar dan maintenance owner mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/applications","id":"mobile-owner-applications","method":"GET","path":"/v1/mobile/owner/applications","status":"Not implemented","summary":"List pengajuan calon penyewa owner mobile."},{"auth":"Owner","body":"{ decision, reason, surveyAt, idempotencyKey }","id":"mobile-owner-application-decision","method":"POST","path":"/v1/mobile/owner/applications/{id}/decision","status":"Ready","summary":"Approve, reject, atau jadwalkan survey pengajuan."},{"auth":"Owner","examplePath":"/v1/mobile/owner/survey-slots","id":"mobile-owner-survey-slots","method":"GET","path":"/v1/mobile/owner/survey-slots","status":"Not implemented","summary":"Slot jadwal survey owner mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/tenants","id":"mobile-owner-tenants","method":"GET","path":"/v1/mobile/owner/tenants","status":"Not implemented","summary":"List penyewa aktif owner mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/contracts","id":"mobile-owner-contracts","method":"GET","path":"/v1/mobile/owner/contracts","status":"Not implemented","summary":"List kontrak owner mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/inbox/conversations","id":"mobile-owner-inbox-conversations","method":"GET","path":"/v1/mobile/owner/inbox/conversations","status":"Not implemented","summary":"Inbox owner mobile."},{"auth":"Owner","body":"{ body, idempotencyKey }","id":"mobile-owner-inbox-message","method":"POST","path":"/v1/mobile/owner/inbox/conversations/{id}/messages","status":"Ready","summary":"Kirim pesan owner mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/insights","id":"mobile-owner-insights","method":"GET","path":"/v1/mobile/owner/insights","query":"period","status":"Not implemented","summary":"Insights pendapatan dan funnel owner mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/finance/overview","id":"mobile-owner-finance-overview","method":"GET","path":"/v1/mobile/owner/finance/overview","status":"Not implemented","summary":"Overview finance owner mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/finance/transactions","id":"mobile-owner-finance-transactions","method":"GET","path":"/v1/mobile/owner/finance/transactions","status":"Not implemented","summary":"Transaksi owner mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/finance/withdrawals","id":"mobile-owner-finance-withdrawals","method":"GET","path":"/v1/mobile/owner/finance/withdrawals","status":"Not implemented","summary":"Riwayat withdrawal owner mobile."},{"auth":"Owner","body":"{ amount, payoutAccount, note, idempotencyKey }","id":"mobile-owner-finance-withdrawal-create","method":"POST","path":"/v1/mobile/owner/finance/withdrawals","status":"Ready","summary":"Ajukan withdrawal dari mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/finance/payout-accounts","id":"mobile-owner-payout-accounts","method":"GET","path":"/v1/mobile/owner/finance/payout-accounts","status":"Not implemented","summary":"Rekening payout owner mobile."},{"auth":"Owner","body":"{ bankName, accountHolder, accountNumber, isDefault, idempotencyKey }","id":"mobile-owner-payout-account-create","method":"POST","path":"/v1/mobile/owner/finance/payout-accounts","status":"Ready","summary":"Tambah rekening payout dari mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/account","id":"mobile-owner-account","method":"GET","path":"/v1/mobile/owner/account","status":"Not implemented","summary":"Profil, team, payout, dan security owner mobile."},{"auth":"Owner","examplePath":"/v1/mobile/owner/settings","id":"mobile-owner-settings","method":"GET","path":"/v1/mobile/owner/settings","status":"Not implemented","summary":"Settings owner mobile: team, notifikasi, security, dan help."}]},{"basePath":"/v1/owner","description":"API operasional owner dashboard yang terhubung ke data Supabase bersama Admin Dashboard.","id":"owner","title":"Owner Dashboard","endpoints":[{"auth":"Owner","examplePath":"/v1/owner/dashboard","id":"owner-dashboard","method":"GET","path":"/v1/owner/dashboard","status":"Supabase read","summary":"Ringkasan operasional owner dashboard."},{"auth":"Owner","examplePath":"/v1/owner/insights?period=30d","id":"owner-insights","method":"GET","path":"/v1/owner/insights","query":"period: 7d, 30d, 90d","status":"Supabase read","summary":"Insight occupancy, booking, respons, dan pendapatan portofolio owner."},{"auth":"Owner","examplePath":"/v1/owner/properties","id":"owner-properties","method":"GET","path":"/v1/owner/properties","status":"Supabase read","summary":"List properti owner."},{"auth":"Owner","body":"{ name, address, area, description, facilities, rules, idempotencyKey }","id":"owner-properties-create","method":"POST","path":"/v1/owner/properties","status":"Ready","summary":"Buat properti owner."},{"auth":"Owner","examplePath":"/v1/owner/properties/property-kebun-tenang","id":"owner-property-detail","method":"GET","path":"/v1/owner/properties/{id}","status":"Supabase read","summary":"Detail properti owner."},{"auth":"Owner","body":"{ name, address, area, description, facilities, rules, publishStatus }","id":"owner-property-update","method":"PATCH","path":"/v1/owner/properties/{id}","status":"Ready","summary":"Update properti owner."},{"auth":"Owner","examplePath":"/v1/owner/rooms","id":"owner-rooms","method":"GET","path":"/v1/owner/rooms","status":"Supabase read","summary":"List kamar owner."},{"auth":"Owner","id":"owner-room-detail","method":"GET","path":"/v1/owner/rooms/{id}","status":"Supabase read","summary":"Detail kamar milik owner yang sedang masuk."},{"auth":"Owner","body":"{ propertyId, name, type, status, price, capacity, facilities, idempotencyKey }","id":"owner-rooms-create","method":"POST","path":"/v1/owner/rooms","status":"Ready","summary":"Buat kamar baru."},{"auth":"Owner","body":"{ status, nextAvailableAt, maintenanceNote, idempotencyKey }","id":"owner-room-availability","method":"PATCH","path":"/v1/owner/rooms/{id}/availability","status":"Ready","summary":"Update status ketersediaan kamar."},{"auth":"Owner","examplePath":"/v1/owner/applications","id":"owner-applications","method":"GET","path":"/v1/owner/applications","status":"Supabase read","summary":"List aplikasi calon penyewa."},{"auth":"Owner","id":"owner-application-detail","method":"GET","path":"/v1/owner/applications/{id}","status":"Supabase read","summary":"Detail aplikasi calon penyewa pada properti owner."},{"auth":"Owner","body":"{ decision, reason, surveyAt, idempotencyKey }","id":"owner-application-decision","method":"POST","path":"/v1/owner/applications/{id}/decision","status":"Ready","summary":"Approve, reject, schedule survey, atau withdraw aplikasi."},{"auth":"Owner","examplePath":"/v1/owner/bookings","id":"owner-bookings","method":"GET","path":"/v1/owner/bookings","status":"Supabase read","summary":"List booking owner."},{"auth":"Owner","id":"owner-booking-detail","method":"GET","path":"/v1/owner/bookings/{id}","status":"Supabase read","summary":"Detail booking pada properti owner."},{"auth":"Owner","examplePath":"/v1/owner/tenants","id":"owner-tenants","method":"GET","path":"/v1/owner/tenants","status":"Supabase read","summary":"List tenant aktif."},{"auth":"Owner","id":"owner-tenant-detail","method":"GET","path":"/v1/owner/tenants/{id}","status":"Supabase read","summary":"Detail tenant aktif milik owner."},{"auth":"Owner","examplePath":"/v1/owner/contracts","id":"owner-contracts","method":"GET","path":"/v1/owner/contracts","status":"Supabase read","summary":"List kontrak sewa."},{"auth":"Owner","id":"owner-contract-detail","method":"GET","path":"/v1/owner/contracts/{id}","status":"Supabase read","summary":"Detail kontrak sewa milik owner."},{"auth":"Owner","examplePath":"/v1/owner/inbox","id":"owner-inbox","method":"GET","path":"/v1/owner/inbox","status":"Supabase read","summary":"List percakapan owner."},{"auth":"Owner","id":"owner-inbox-detail","method":"GET","path":"/v1/owner/inbox/{id}","status":"Supabase read","summary":"Detail percakapan pada kanal owner."},{"auth":"Owner","examplePath":"/v1/owner/finance/transactions","id":"owner-finance-transactions","method":"GET","path":"/v1/owner/finance/transactions","status":"Supabase read","summary":"List transaksi owner."},{"auth":"Owner","id":"owner-finance-transaction-detail","method":"GET","path":"/v1/owner/finance/transactions/{id}","status":"Supabase read","summary":"Detail transaksi owner."},{"auth":"Owner","examplePath":"/v1/owner/finance/withdrawals","id":"owner-finance-withdrawals","method":"GET","path":"/v1/owner/finance/withdrawals","status":"Supabase read","summary":"List withdrawal owner."},{"auth":"Owner","body":"{ amount, payoutAccount, note, idempotencyKey }","id":"owner-finance-withdrawals-create","method":"POST","path":"/v1/owner/finance/withdrawals","status":"Ready","summary":"Ajukan withdrawal."},{"auth":"Owner","examplePath":"/v1/owner/finance/payout-accounts","id":"owner-finance-payout-accounts","method":"GET","path":"/v1/owner/finance/payout-accounts","status":"Supabase read","summary":"List rekening payout owner."},{"auth":"Owner","body":"{ bankName, accountHolder, accountNumber, isDefault, auditNote, idempotencyKey }","id":"owner-finance-payout-accounts-create","method":"POST","path":"/v1/owner/finance/payout-accounts","status":"Ready","summary":"Tambah rekening payout."},{"auth":"Owner","body":"{ bankName, accountHolder, accountNumber, isDefault, auditNote, idempotencyKey }","id":"owner-finance-payout-accounts-update","method":"PATCH","path":"/v1/owner/finance/payout-accounts/{id}","status":"Ready","summary":"Perbarui rekening payout milik owner."},{"auth":"Owner","examplePath":"/v1/owner/finance/reports","id":"owner-finance-reports","method":"GET","path":"/v1/owner/finance/reports","status":"Supabase read","summary":"List laporan finance owner."},{"auth":"Owner","body":"{ title, category, format, period, idempotencyKey }","id":"owner-finance-reports-create","method":"POST","path":"/v1/owner/finance/reports","status":"Ready","summary":"Generate laporan finance owner."},{"auth":"Owner","examplePath":"/v1/owner/settings/team","id":"owner-settings-team","method":"GET","path":"/v1/owner/settings/team","status":"Supabase read","summary":"Team dan roles owner."},{"auth":"Owner","examplePath":"/v1/owner/settings/notifications","id":"owner-settings-notifications","method":"GET","path":"/v1/owner/settings/notifications","status":"Supabase read","summary":"Pengaturan notifikasi owner."},{"auth":"Owner","examplePath":"/v1/owner/settings/security","id":"owner-settings-security","method":"GET","path":"/v1/owner/settings/security","status":"Supabase read","summary":"Event keamanan owner."},{"auth":"Owner","examplePath":"/v1/owner/settings/help","id":"owner-settings-help","method":"GET","path":"/v1/owner/settings/help","status":"Supabase read","summary":"Artikel bantuan owner."}]},{"basePath":"/v1/admin","description":"API admin dashboard untuk moderation, operations, finance, support, analytics, dan platform control.","id":"admin","title":"Admin Dashboard","endpoints":[{"auth":"Admin","examplePath":"/v1/admin/dashboard","id":"admin-dashboard","method":"GET","path":"/v1/admin/dashboard","status":"Supabase read","summary":"Ringkasan moderation dashboard admin."},{"auth":"Admin","examplePath":"/v1/admin/properties","id":"admin-properties","method":"GET","path":"/v1/admin/properties","query":"status, q","status":"Supabase read","summary":"List properti untuk review admin."},{"auth":"Admin","body":"{ decision, note, idempotencyKey }","id":"admin-property-decision","method":"POST","path":"/v1/admin/properties/{id}/decision","status":"Ready","summary":"Approve atau reject properti."},{"auth":"Admin","body":"{ lat, lng, accuracy, idempotencyKey }","id":"admin-property-location","method":"PATCH","path":"/v1/admin/properties/{id}/location","status":"Ready","summary":"Update pin lokasi properti."},{"auth":"Admin","examplePath":"/v1/admin/verifications","id":"admin-verifications","method":"GET","path":"/v1/admin/verifications","query":"status, type","status":"Supabase read","summary":"List verifikasi owner/properti."},{"auth":"Admin","body":"{ decision, note, idempotencyKey }","id":"admin-verification-decision","method":"POST","path":"/v1/admin/verifications/{id}/decision","status":"Ready","summary":"Approve atau reject verifikasi."},{"auth":"Admin","examplePath":"/v1/admin/users","id":"admin-users","method":"GET","path":"/v1/admin/users","query":"q, role, status","status":"Supabase read","summary":"List user platform."},{"auth":"Admin","examplePath":"/v1/admin/finance/overview","id":"admin-finance-overview","method":"GET","path":"/v1/admin/finance/overview","status":"Supabase read","summary":"Overview finance admin."},{"auth":"Admin","examplePath":"/v1/admin/finance/transactions","id":"admin-finance-transactions","method":"GET","path":"/v1/admin/finance/transactions","query":"q, status, type","status":"Supabase read","summary":"Ledger transaksi platform."},{"auth":"Admin","examplePath":"/v1/admin/bookings","id":"admin-bookings","method":"GET","path":"/v1/admin/bookings","query":"q, status","status":"Supabase read","summary":"List booking seluruh platform."},{"auth":"Admin","examplePath":"/v1/admin/support/overview","id":"admin-support-overview","method":"GET","path":"/v1/admin/support/overview","status":"Supabase read","summary":"Overview support console."},{"auth":"Admin","examplePath":"/v1/admin/support/tickets","id":"admin-support-tickets","method":"GET","path":"/v1/admin/support/tickets","query":"q, status, priority","status":"Supabase read","summary":"List tiket support admin."},{"auth":"Admin","body":"{ assigneeId, idempotencyKey }","id":"admin-support-assignment","method":"PATCH","path":"/v1/admin/support/tickets/{id}/assignment","status":"Ready","summary":"Assign tiket support."},{"auth":"Admin","body":"{ body, idempotencyKey }","id":"admin-support-message","method":"POST","path":"/v1/admin/support/tickets/{id}/messages","status":"Ready","summary":"Balas tiket support."},{"auth":"Admin","examplePath":"/v1/admin/analytics/overview?period=30d","id":"admin-analytics-overview","method":"GET","path":"/v1/admin/analytics/overview","query":"period","status":"Supabase read","summary":"Overview analytics platform."},{"auth":"Admin","examplePath":"/v1/admin/operations/sla?period=30d&region=all","id":"admin-operations-sla","method":"GET","path":"/v1/admin/operations/sla","query":"period, region","status":"Supabase read","summary":"Dashboard SLA operasional."},{"auth":"Admin","examplePath":"/v1/admin/supply-health?period=30d&region=all","id":"admin-supply-health","method":"GET","path":"/v1/admin/supply-health","query":"period, region","status":"Supabase read","summary":"Health supply properti."},{"auth":"Admin","examplePath":"/v1/admin/trust-safety/overview","id":"admin-trust-safety","method":"GET","path":"/v1/admin/trust-safety/overview","status":"Supabase read","summary":"Overview trust and safety."},{"auth":"Admin","examplePath":"/v1/admin/promotions","id":"admin-promotions","method":"GET","path":"/v1/admin/promotions","query":"q, status","status":"Supabase read","summary":"List campaign promo."},{"auth":"Admin","body":"{ propertyId, placements[], startsAt, endsAt, packageLabel, reason, idempotencyKey }","id":"admin-promotion-grant","method":"POST","path":"/v1/admin/promotions/admin-grants","status":"Ready","summary":"Berikan promo manual dari admin."},{"auth":"Admin","examplePath":"/v1/admin/settings/platform","id":"admin-platform-settings","method":"GET","path":"/v1/admin/settings/platform","status":"Supabase read","summary":"Pengaturan platform."},{"auth":"Admin","body":"{ policies, idempotencyKey }","id":"admin-platform-policies","method":"PATCH","path":"/v1/admin/settings/platform/policies","status":"Ready","summary":"Update policy platform."},{"auth":"Admin","examplePath":"/v1/admin/monitoring/overview","id":"admin-monitoring-overview","method":"GET","path":"/v1/admin/monitoring/overview","status":"Supabase read","summary":"Overview monitoring dan observability."},{"auth":"Admin","examplePath":"/v1/admin/compliance/overview","id":"admin-compliance-overview","method":"GET","path":"/v1/admin/compliance/overview","status":"Supabase read","summary":"Overview compliance dan data export."}]}],"summary":{"groups":6,"methodCounts":{"DELETE":3,"GET":127,"PATCH":16,"POST":46},"statusCounts":{"Mutation stub":12,"Not implemented":24,"Ready":55,"Supabase read":101},"totalEndpoints":192,"version":"2026.08.01"},"version":"2026.08.01"}