What problem does it solve? Exposing Convex applications to external services requires custom HTTP endpoints for webhooks, API routes, and file uploads, which involves routing, authentication, CORS, and signature verification that are easy to get wrong. ## Core Features & Use Cases - HTTP Router Setup: Define GET, POST, and OPTIONS routes with path parameters, request body parsing (JSON, form data, raw bytes), and structured error responses. - Webhook Handling: Receive and verify webhooks from Stripe, GitHub, and Clerk with signature validation using Svix or Stripe SDKs in Node.js actions. - Authentication & CORS: Implement API key and Bearer token authentication, plus CORS preflight handling for browser-accessible endpoints. - Use Case: You need to sync Clerk users into your Convex database. Create a /webhooks/clerk endpoint that verifies Svix signatures and calls internal mutations to create, update, or delete users. ## Quick Start Create a Convex HTTP endpoint that receives Stripe webhooks, verifies the signature, and processes checkout completion events.