# Login With Email > Passwordless email-link authentication service. Users log in by clicking a signed link in an email — no passwords. The service issues ECDSA-signed JWTs that third-party applications verify with the account's public key. Runs as a single Cloudflare Worker. ## Docs - [API Reference](https://loginwithemail.com/docs): Client-facing API endpoints (login, verify, public key lookup) with request/response examples and integration use cases - [Authentication Model](https://loginwithemail.com/docs/authentication.md): Two-token security model (ES256 login tokens + HS256 session tokens), login flow, key rotation - [API Route Reference](https://loginwithemail.com/docs/api.md): Full API contract with all routes, schemas, status codes, and error formats - [Frontend Integration](https://loginwithemail.com/docs/frontend-integration.md): Four integration paths (server-side, frontend-only, client-side verify, BFF) with code examples - [Database Schema](https://loginwithemail.com/docs/database.md): D1 tables, Drizzle ORM patterns, migration workflow - [Deployment Guide](https://loginwithemail.com/docs/deployment.md): Cloudflare setup, secrets, deploy steps ## API Three client-facing endpoints for third-party integration: ``` POST /api/auth/login # Trigger a login email (apikey + email + redirectUrl) GET /api/auth/verify/{aid}/{token} # Verify a login token (single-use, returns claims) GET /api/keys/{aid} # Fetch an account's public key (for key rotation) ``` Base URL: https://loginwithemail.com ## Quickstart ```bash curl -X POST https://loginwithemail.com/api/auth/login \ -H "content-type: application/json" \ -d '{"apikey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQ...","email":"user@example.com","redirectUrl":"https://yourapp.com/auth/callback"}' # → 201 {"accepted":true} ```