{"bucket":"rakhideodap","endpoints":{"GET /api/browse":"Browse folders one level at a time. ?prefix= to drill in","GET /api/files":"Paginated media list. ?folder=&type=&page=&limit=&direct=true","GET /api/folder-config":"View folder exclusions and aliases (admin)","GET /api/folders":"All folders with image/video counts","GET /api/health":"Health check + cache status","GET /api/search":"Universal search. ?q=&type=&folder=&page=&limit=","GET /api/stats":"Bucket totals","GET /api/thumb/<s3-key>":"Resized/cached image. ?w=300&fmt=webp&q=72","GET /api/tree":"Nested folder+file tree. ?prefix= ?flat=true","GET /api/url/<s3-key>":"Presigned URL for the original file (1 hour)","GET /api/version":"App version info (no auth required)","POST /api/folder-config":"Update folder exclusions and aliases (admin)","POST /api/refresh":"Force cache refresh","POST /api/version":"Update app version info (admin)"},"service":"Rakhi S3 Media API"}
