{"service":"Podiatry API Worker","status":"healthy","version":"1.0.0","timestamp":"2026-06-01T21:10:21.532Z","endpoints":["GET  /api/diagnostic (quick check: which database/Hyperdrive)","GET  /api/sfmc-test (Marketing Cloud OAuth smoke test)","GET  /api/sfmc-test/lists (SOAP Retrieve Email Studio list IDs; optional ?check_id=)","GET|POST /api/sfmc-test/memberships (ListSubscriber rows for ?email= or JSON { email, include_list_names? }; X-API-Key)","POST /api/sfmc-test/subscriptions (SOAP subscribe + list_ids; X-API-Key)","POST /api/sfmc-test/unsubscribe (SOAP Unsubscribed on list_ids; same auth)","POST /api/sfmc-sync (trigger full SFMC data sync; body { type?: \"all\"|\"lists\"|\"subscribers\"|... })","GET  /api/sfmc-sync/status (recent sync runs)","GET  /api/sfmc-sync/stats (dashboard counts: lists, subscribers, DEs, sends)","GET  /api/sfmc-sync/lists (synced SFMC lists)","GET  /api/sfmc-sync/subscribers?limit=&offset=&status=&email=&search= (synced subscribers)","GET  /api/sfmc-sync/list-subscribers/:list_id (members of a list)","GET  /api/sfmc-sync/data-extensions (DE definitions)","GET  /api/sfmc-sync/data-extensions/:key/rows (DE rows)","GET  /api/sfmc-sync/sends (send history)","GET  /api/sfmc-sync/triggered-sends (triggered send definitions)","GET  /api/ses-test (SES credentials present?; no mail)","POST /api/ses-test (SES test; JSON { to, subject?, skip_second_email?, tracking_link_url?, skip_default_tracking_links? }; default home+news links for click tests)","GET|POST /api/webhooks/ses-sns (GET = JSON with subscription URL; POST = Amazon SNS → D1)","GET  /api/ses-events?limit=&offset=&event_type=&message_id=&destination_email=&since=&until= (D1 SES events from SNS)","GET  /api/ses-sends?...&include_tracking=1 (D1 send log; status promoted on SNS delivery/open/click/bounce/complaint + 1p open/link)","GET  /api/email-link/:token (public redirect; first-party click tracking when EMAIL_LINK_TRACKING=1)","GET  /api/conferences/ads (public legacy conference redirect/image handler)","GET  /api/email-open/:token (public 1×1 GIF; dual pixels per send; logs ses_email_open_events when migration 0009 applied)","GET  /api/ses-email-links?message_id=|batch_id= (admin; first-party link rows)","GET  /api/ses-email-opens?message_id=|batch_id= & include_events=1 (admin; pixel rows + per-load event log)","GET  /api/ses-send-attachments/:id/download (admin; stream attachment from R2)","GET  /api/register/options","GET  /api/register/publications","POST /api/register","POST /api/register/activate","POST /api/register/resend-confirmation","GET  /api/hyperdrive-health (detailed health check)","POST /api/login","POST /api/logout","GET  /api/userdata","GET  /api/monolithic-search (or /api/monolithic_search)","GET  /api/lectures-cached","GET  /api/mp4-path","GET  /api/wizard/:lecture_id","GET  /api/wizard/:lecture_id/pretest","GET  /api/wizard/:lecture_id/posttest","POST /api/wizard/:lecture_id/pretest","POST /api/wizard/:lecture_id/posttest","GET  /api/wizard/:lecture_id/survey","POST /api/wizard/:lecture_id/survey","GET  /api/wizard/:lecture_id/certificate","POST /api/wizard/:lecture_id/certificate/email","POST /api/wizard/:lecture_id/userinfo","GET  /api/peer-reviewers","GET  /api/admin/user-search","POST /api/admin/impersonate","GET  /api/peer-review-assignments","POST /api/peer-review-assignments","DELETE /api/peer-review-assignments/:lecture_id","PUT  /api/peer-review-action","POST /api/ai-boolean-query","GET  /api/licenses","POST /api/licenses/validate","GET  /api/state-cme-laws","POST /api/state-cme-laws","GET  /image-proxy/:path","GET  /vtt-proxy/:path","GET  /video-proxy/:path","POST /api/html-to-image","GET  /api/certificates/:user_id/:lecture_id/:creditor_id/:filename","POST /api/batch-generate-certificates","GET  /api/saved-searches","GET  /api/saved-searches/:id","POST /api/saved-searches","PUT  /api/saved-searches/:id","DELETE /api/saved-searches/:id","GET  /api/login-sessions","GET  /api/email-templates","POST /api/email-templates","GET  /api/email-templates/:id","PUT  /api/email-templates/:id","DELETE /api/email-templates/:id","GET  /api/email-template-categories","POST /api/email-template-categories","PUT  /api/email-template-categories","DELETE /api/email-template-categories","GET  /api/conference-assets","POST /api/conference-assets","DELETE /api/conference-assets","GET  /api/gallery-images","POST /api/gallery-images","PUT  /api/gallery-images","DELETE /api/gallery-images","GET  /api/gallery-images/base64","GET  /api/gmail-oauth","POST /api/gmail-send","POST /api/email-autofill","GET  /api/user-merge","POST /api/user-merge","GET  /api/news-comments","POST /api/news-comments","GET  /api/reports-cme-import","POST /api/reports-cme-import"]}