Contact forms with manners.

A small, kind API for getting messages from your website to the people who should see them. No inbox circus. No junk parade.

Receive it. Check it. Send it along.

Kind accepts one clean browser request, verifies it with Turnstile, stores the inquiry under the right organization, and emails the recipient. It is intentionally boring in all the important places.

Protect

Spam gets a polite no.

Turnstile verification, a honeypot, origin allowlists, and per-form rate limits.

Route

Every note knows where to go.

Each form has one recipient. The sender’s email becomes Reply-To, so the answer starts naturally.

Remember

Keep only what you need.

Tenant-scoped storage with a 90-day default retention period and scheduled deletion for closed accounts.

One endpoint. A good first impression.

POST /v1/forms/your-form-key/inquiries
Content-Type: application/json

{ "name": "Maya Chen", "email": "maya@example.com", "message": "Hello!", "turnstileToken": "…", "website": "" }