🧭 Overview

  • API-only inventory across IHNYC services
  • Auth requirements for machine endpoints
  • UI and non-API routes are documented separately

🌐 SVC: ihnyc-rc-landing (Pages Functions)

Endpoints

PathMethodAuthPurposeSource
/api/changelogGETPublicAggregate GitHub commits and releasesihnyc-rc-landing/functions/api/changelog.ts
/api/canva-imageGETPublicResolve Canva preview image (with screenshot fallback)ihnyc-rc-landing/functions/api/canva-image.ts
/api/statsGETPublic in code (edge protection expected)Serve stats.json from R2ihnyc-rc-landing/functions/api/stats.ts
/api/csv-uploadPOSTPublic in code (edge protection expected)Upload CSV/Excel to R2 with metadataihnyc-rc-landing/functions/api/csv-upload.ts
/api/csv-listGETPublic in code (edge protection expected)List uploaded datasetsihnyc-rc-landing/functions/api/csv-list.ts
/api/csv-dataGETPublic in code (edge protection expected)Fetch dataset dataihnyc-rc-landing/functions/api/csv-data.ts
/api/dataset-typesGETPublic in code (edge protection expected)List dataset schemasihnyc-rc-landing/functions/api/dataset-types.ts
/api/publishPOSTPublic in code (edge protection expected)Publish curated datasets to analytics-storeihnyc-rc-landing/functions/api/publish.ts

📅 SVC: ihnyc-rc-cal-landing (Pages Functions)

Endpoints

PathMethodAuthPurposeSource
/api/subs/newPOSTPublic (Turnstile for programs)Start subscription flowihnyc-rc-cal-landing/functions/api/subs/new.ts
/api/subs/verifyGETMagic linkMint calendar tokenihnyc-rc-cal-landing/functions/api/subs/verify.ts
/api/turnstile-site-keyGETPublicReturn Turnstile site keyihnyc-rc-cal-landing/functions/api/turnstile-site-key.ts
/cal/programs.icsGET/HEADTokenServe programs ICS from R2ihnyc-rc-cal-landing/functions/cal/programs.ics.ts
/cal/internal.icsGET/HEADAccess (edge)Proxy internal ICS via n8nihnyc-rc-cal-landing/functions/cal/internal.ics.ts
/api/admin/statsGETAccess (edge)Subscription statsihnyc-rc-cal-landing/functions/api/admin/stats.ts
/api/admin/subs/listGETAccess (edge)List subscribersihnyc-rc-cal-landing/functions/api/admin/subs/list.ts
/api/admin/revokePOSTAccess (edge)Revoke subscriber tokensihnyc-rc-cal-landing/functions/api/admin/revoke.ts
/api/admin/enablePOSTAccess (edge)Re-enable subscriberihnyc-rc-cal-landing/functions/api/admin/enable.ts
/api/admin/mixpanel-testGETAccess (edge)Test Mixpanel connectivityihnyc-rc-cal-landing/functions/api/admin/mixpanel-test.ts

Endpoints

PathMethodAuthPurposeSource
/healthGETPublicService healthihnyc-rc-gallery/src/index.ts
/api/galleryGETPublicList published itemsihnyc-rc-gallery/src/index.ts
/api/gallery/:idGETPublicGet one itemihnyc-rc-gallery/src/index.ts
/media/*GET/HEADPublicServe original or resized mediaihnyc-rc-gallery/src/index.ts
/api/admin/mediaGET/POSTAccess (edge)List or upload mediaihnyc-rc-gallery/src/index.ts
/api/admin/media/:idGET/PATCH/DELETEAccess (edge)Read/update/delete mediaihnyc-rc-gallery/src/index.ts
/api/admin/healthGETAccess (edge)Admin healthihnyc-rc-gallery/src/index.ts
/api/admin/repair/idsPOSTAccess (edge)Repair specific idsihnyc-rc-gallery/src/index.ts
/api/admin/repair/orphansPOSTAccess (edge)Cleanup orphansihnyc-rc-gallery/src/index.ts

🗳️ SVC: ihnyc-rc-vote (Worker)

Endpoints

PathMethodAuthPurposeSource
/healthGETPublicService healthihnyc-rc-vote/src/index.ts
/admin/electionsGET/POSTAccess or ADMIN_API_KEYAdmin elections CRUDihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:idGETAccess or ADMIN_API_KEYGet election detailsihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/manual-resultsPUTAccess or ADMIN_API_KEYSave manual resultsihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/manual-resultsDELETEAccess or ADMIN_API_KEYClear manual resultsihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/attachmentsPATCHAccess or ADMIN_API_KEYUpdate Notion attachmentsihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/datesPATCHAccess or ADMIN_API_KEYUpdate election datesihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/settingsPATCHAccess or ADMIN_API_KEYUpdate election settingsihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:idDELETEAccess or ADMIN_API_KEYDelete electionihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/tokensGET/POSTAccess or ADMIN_API_KEYToken batchesihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/batchesDELETEAccess or ADMIN_API_KEYDelete token batchihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/candidatesGET/POSTAccess or ADMIN_API_KEYManage ranked candidatesihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/optionsGET/POSTAccess or ADMIN_API_KEYManage poll optionsihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/options/:optionIdDELETEAccess or ADMIN_API_KEYDelete poll optionihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/invitePOSTAccess or ADMIN_API_KEYSend invitesihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/invitesGETAccess or ADMIN_API_KEYInvite statusihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/invites/:inviteId/resendPOSTAccess or ADMIN_API_KEYResend inviteihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/invites/:inviteId/remindPOSTAccess or ADMIN_API_KEYSend reminder to inviteihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/reminders/sendPOSTAccess or ADMIN_API_KEYSend remindersihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/results-emailPOSTAccess or ADMIN_API_KEYSend results emailsihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/closePOSTAccess or ADMIN_API_KEYClose electionihnyc-rc-vote/src/routes/admin.ts
/admin/bulk-invitesPOSTAccess or ADMIN_API_KEYBulk invite managementihnyc-rc-vote/src/routes/admin.ts
/admin/test-emailsPOSTAccess or ADMIN_API_KEYSend test emailsihnyc-rc-vote/src/routes/admin.ts
/admin/audit-logsGETAccess or ADMIN_API_KEYAudit log APIihnyc-rc-vote/src/routes/admin.ts
/admin/distribution-listsGET/POSTAccess or ADMIN_API_KEYDistribution listsihnyc-rc-vote/src/routes/admin.ts
/admin/distribution-lists/:idGET/PUTAccess or ADMIN_API_KEYDistribution list detailihnyc-rc-vote/src/routes/admin.ts
/admin/distribution-lists/:idDELETEAccess or ADMIN_API_KEYDelete distribution listihnyc-rc-vote/src/routes/admin.ts
/admin/distribution-lists/:id/emailsPOSTAccess or ADMIN_API_KEYAdd emails to listihnyc-rc-vote/src/routes/admin.ts
/admin/distribution-lists/:id/emails/:emailIdDELETEAccess or ADMIN_API_KEYRemove email from listihnyc-rc-vote/src/routes/admin.ts
/admin/notion/databasesGETAccess or ADMIN_API_KEYList Notion databasesihnyc-rc-vote/src/routes/admin.ts
/admin/notion/databases/:databaseId/pagesGETAccess or ADMIN_API_KEYSearch Notion pagesihnyc-rc-vote/src/routes/admin.ts
/admin/notion/pages/:pageId/validateGETAccess or ADMIN_API_KEYValidate Notion pageihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/notion/linkPOSTAccess or ADMIN_API_KEYLink election to Notionihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/notion/linkDELETEAccess or ADMIN_API_KEYUnlink election from Notionihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/notion/syncPOSTAccess or ADMIN_API_KEYTrigger Notion syncihnyc-rc-vote/src/routes/admin.ts
/admin/elections/:id/published-statusGETAccess or ADMIN_API_KEYDebug published statusihnyc-rc-vote/src/routes/admin.ts

📝 Notes

Edge Protection

Access enforcement for some admin routes is handled at the Cloudflare edge in production.

Sources: ihnyc-rc-gallery/README.md, ihnyc-rc-cal-landing/README.md


🎮 SVC: ihnyc-games (Worker)

Endpoints

PathMethodAuthPurposeSource
/api/healthGETPublicHealth checkihnyc-games/services/api/src/index.ts
/api/eventsGETPublicList eventsihnyc-games/services/api/src/index.ts
/api/events/:idGETPublicFetch one eventihnyc-games/services/api/src/index.ts
/api/standingsGETPublicMedal table by floorihnyc-games/services/api/src/index.ts
/api/admin/eventsGET/POSTAdminList/create eventsihnyc-games/services/api/src/index.ts
/api/admin/events/:idPATCHAdminUpdate eventihnyc-games/services/api/src/index.ts
/api/admin/resultsGET/POSTAdminGet/save resultsihnyc-games/services/api/src/index.ts
/api/admin/results/:idDELETEAdminDelete result rowihnyc-games/services/api/src/index.ts
/api/admin/import/csvPOSTAdminImport CSV submissionsihnyc-games/services/api/src/index.ts
/api/admin/importsGETAdminImport run historyihnyc-games/services/api/src/index.ts
/api/admin/submissionsGETAdminSubmission reviewihnyc-games/services/api/src/index.ts
/api/admin/submissions/:idDELETEAdminDelete submissionihnyc-games/services/api/src/index.ts