{"status":"ok","service":"pika-vod-backend-api","version":"2.0","endpoints":{"GET /api/credentials":"Get user's R2 credentials","POST /api/credentials":"Create R2 credentials","PUT /api/credentials":"Update R2 credentials","DELETE /api/credentials":"Delete R2 credentials","POST /api/upload/presigned-url":"Generate presigned URL for video upload","POST /api/encode":"Trigger video encoding to HLS format","GET /api/videos":"List user's videos","GET /api/videos/:id":"Get video details","PATCH /api/videos/:id/status":"Update video status","DELETE /api/videos/:id":"Delete video","GET /api/embed-domains":"List allowed embed domains","POST /api/embed-domains":"Add allowed embed domain","DELETE /api/embed-domains/:id":"Remove allowed embed domain","GET /proxy/v/:videoId/*":"Secure HLS proxy with domain validation and edge caching","GET /api/embed/:videoId":"Public — player data for embed (no auth required)","GET /api/stripe/status":"Billing status — plan, minutes used/available","POST /api/stripe/checkout":"Create Stripe Checkout session for subscription upgrade","POST /api/stripe/portal":"Open Stripe Customer Portal (manage subscription)","POST /api/stripe/topup":"Purchase 100-min encoding top-up pack","POST /api/stripe/webhook":"Public — Stripe webhook (HMAC verified)"}}