Getting Started

Collect your first form submission in under five minutes. Follow these five steps to go from zero to a working form backend.

1. Create an account

Sign up at forms.rizzness.com. You will need to verify your email address before you can create forms. Account creation is handled through the web interface only — there is no API signup endpoint.

2. Create a form

From the dashboard, click New Form and give it a name (e.g., "Contact Form"). RizzForms will generate a unique endpoint_token for receiving submissions.

You can also create forms programmatically with the API:

curl -s -X POST https://www.rizzness.com/api/forms \
  -H "Authorization: Bearer frk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "Contact Form"}'

The response includes your form's submission URLs:

{
  "ok": true,
  "form": {
    "id": 42,
    "name": "Contact Form",
    "endpoint_token": "abc123def456",
    "submission_url": "https://forms.rizzness.com/f/abc123def456",
    "json_url": "https://forms.rizzness.com/json/abc123def456"
  }
}

3. Add the form to your site

Standard HTML form

Point your form's action to the submission URL. Include any <input> fields you need — RizzForms captures all of them automatically.

<form action="https://forms.rizzness.com/f/abc123def456" method="POST">
  <!-- Honeypot field for spam protection (keep this hidden) -->
  <input type="text" name="_hp" style="display:none" tabindex="-1" autocomplete="off">

  <label for="name">Name</label>
  <input type="text" name="name" id="name" required>

  <label for="email">Email</label>
  <input type="email" name="email" id="email" required>

  <label for="message">Message</label>
  <textarea name="message" id="message"></textarea>

  <button type="submit">Send</button>
</form>

The hidden _hp field is a honeypot — bots fill it in, humans do not. Any submission with a value in _hp is automatically flagged as spam.

JSON API (fetch, Axios, etc.)

For JavaScript-driven forms, POST JSON to the /json/:endpoint_token endpoint:

const response = await fetch("https://forms.rizzness.com/json/abc123def456", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    name: "Jane Smith",
    email: "[email protected]",
    message: "Hello from my SPA!"
  })
});

const result = await response.json();
// { "ok": true, "id": 789, "links": [...] }

Redirect behavior

HTML form submissions redirect to a default thank-you page at https://forms.rizzness.com/f/abc123def456/thanks. You can set a custom redirect URL via the dashboard or API:

curl -s -X PATCH https://www.rizzness.com/api/forms/abc123def456 \
  -H "Authorization: Bearer frk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"success_redirect_url": "https://yoursite.com/thank-you"}'

4. Test your form

Submit the form once and check the dashboard — your submission should appear immediately.

For programmatic testing, add ?test=true to the JSON endpoint. This runs plugin delivery synchronously and returns detailed feedback in the response:

curl -s -X POST "https://forms.rizzness.com/json/abc123def456?test=true" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "subject": "Test submission"}'

5. Configure delivery

By default, RizzForms sends email notifications for every new submission. You can add more delivery channels from the dashboard or via the API.

Notification emails

Notification emails are sent automatically to the account owner. Add additional recipients in the dashboard under Form Settings → Notifications, or via the API:

curl -s -X PATCH https://www.rizzness.com/api/forms/abc123def456 \
  -H "Authorization: Bearer frk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"notification_email_addresses": ["[email protected]", "[email protected]"]}'

Webhooks

Forward submissions to your own server or automation tool:

curl -s -X POST https://www.rizzness.com/api/forms/abc123def456/plugins \
  -H "Authorization: Bearer frk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"plugin_type": "webhook", "config": {"url": "https://yoursite.com/webhooks/forms"}}'

The response includes a signing_secret (shown only once) for verifying webhook authenticity. See Webhooks for payload format and retry details.

Rate limiting

Submissions are rate-limited to 60 per minute per IP address per form. This protects your forms from abuse without affecting normal usage.

Next steps