# FormHandle > The simplest serverless form handler on the internet. FormHandle turns any HTML form into an email-delivering endpoint. No backend, no dashboard, no API keys. One API call to set up, one email to verify, and submissions arrive in your inbox. ## Quick Start 1. POST /setup with email and domain (or run `npx formhandle init`) 2. Click the verification email 3. Set your form's action to the handler URL ## API Base URL https://api.formhandle.dev ## Endpoints - POST /setup — Create endpoint. Body: { email, domain, handler_id? }. Returns { handler_id, handler_url, status }. - GET /verify/:token — Email verification (browser link, don't call programmatically). - POST /submit/:id — Submit form data. JSON or URL-encoded. Returns { ok: true }. - POST /cancel/:id — Request subscription cancellation. Returns { ok: true, message }. - GET / — Health check. ## Key Facts - Origin-locked: submissions must come from the registered domain. localhost always allowed. - Free trial: first 3 submissions delivered free. After that, queued until plan activated. Nothing lost. - Pricing: $5/month flat rate (unlimited) or €0.50/submission (metered). - Spam protection: honeypot field (_fh_hp) and timestamp field (_fh_ts) injected by script tag. - Unknown endpoint IDs return { ok: true } to avoid leaking valid IDs. - All error responses include a _tip field explaining what went wrong. ## CLI npx formhandle init # Create endpoint interactively npx formhandle init --json --email EMAIL --domain DOMAIN # Non-interactive npx formhandle snippet # Output embed HTML npx formhandle test # Send test submission npx formhandle status # API health + local config npx formhandle whoami # Show .formhandle config npx formhandle resend # Resend verification email npx formhandle cancel # Cancel subscription npx formhandle open # Open Swagger UI in browser ## Sister Service - HypeStash (https://hypestash.dev) — Serverless waitlist API. Collect emails with one API call, no accounts or dashboards. By the same team. ## More Info - Docs: https://formhandle.dev - Swagger UI: https://formhandle.dev/swagger/ - OpenAPI spec: https://formhandle.dev/openapi.yaml - Full LLM reference: https://formhandle.dev/llms-full.txt - Examples: https://github.com/ParapluOU/formhandle-examples