Embed a signup form

Your site can stay static. No API secrets belong in the front-end repo. The form posts to this service with a public site key, Turnstile, a honeypot, and a consent checkbox.

Public endpoint

POST https://mail.wevibing.com/f/pk_live_YOUR_KEY/subscribe

Replace the site key with the public key from Admin → API keys. Only origins you allow for that site are accepted. The response is the same whether the address is new or already subscribed.

Generic HTML example

<form method="post" action="https://mail.wevibing.com/f/pk_live_YOUR_KEY/subscribe">
  <input type="email" name="email" required>
  <input type="hidden" name="list" value="newsletter">
  <input type="text" name="company" class="hidden" tabindex="-1" autocomplete="off">
  <label><input type="checkbox" name="consent" value="1" required> Send me email. Unsubscribe anytime.</label>
  <div class="cf-turnstile" data-sitekey="YOUR_TURNSTILE_SITE_KEY"></div>
  <button type="submit">Subscribe</button>
</form>

The honeypot field name may vary; follow the Jekyll include if you want a drop-in field set. Use your own Cloudflare Turnstile site key. The form still works with JavaScript off and redirects with a 303.

Optional script

<script src="https://mail.wevibing.com/embed.js" async></script>

This keeps the visitor on the page after submit. It is progressive enhancement, not a requirement.

For Jekyll sites, see the Jekyll include guide.