Getting started

Your first submission

Confirm a FormsReach submit succeeded - dashboard row, accepted vs channel delivery, and common first-time errors.

What you will achieve

Know what “success” means after you submit, where to read the data, and how to tell a storage success from a channel delivery issue.

Prerequisites

Success checklist

After you submit, check these in order:

  1. Browser request - the browser completed a POST to https://api.formsreach.com/submit without a network failure (DevTools → Network).
  2. Dashboard row - a new row appears under that form’s Submissions list with your field values.
  3. Channels (optional) - if email, WhatsApp, or other channels are enabled and credits remain, delivery runs after the submission is accepted.

A stored row is enough to prove the form path works. You can enable channels after the first successful store.

Accepted vs delivered

Stage Meaning
Accepted FormsReach validated the request, stored the submission, and spent submission credits when applicable
Delivered A channel job succeeded (email sent, WhatsApp message sent, webhook 2xx, and so on)

You can have an accepted submission with a failed or skipped channel (channel misconfigured, destination not verified, or not enough credits for that channel). Fix channels without changing a working HTML form.

Where to read the submission

  1. Open the form in the dashboard.
  2. Open Submissions.
  3. Open the latest row.
  4. Confirm name, email, message (or your custom field names) match what you typed.

Field names come from your input name attributes (HTML) or JSON keys.

What the browser may show

Classic HTML form POST

Depending on Accept headers and redirect settings, the browser may:

  • Redirect to your thank-you URL, or
  • Show a FormsReach success page

Either outcome can still mean success if the Submissions row exists.

JSON clients

JSON clients receive a unified envelope on success, for example:

{
 "data": { "id": "…", "ok": true },
 "status": "success",
 "meta": { "requestId": "req_…" }
}

Failures use "status": "failure" with a problem object (code, title, detail). Keep meta.requestId if you contact support.

Programmatic clients: JS SDK submit. Field reference: Submit API overview.

Verify

You should be able to answer yes to:

  • I submitted test data I recognize
  • I see that data on the correct form’s Submissions list
  • I know whether channels are enabled yet (if not, missing email/WhatsApp is expected)

Common first-time failures

Symptom Check
Nothing in dashboard Wrong api_key; form inactive; viewing a different form; filtering spam-only views
422 / missing API key Hidden input name="api_key" missing
Domain denied Origin/referrer host not on the allowlist
402 / credits Plan credits exhausted - see billing in the app and pricing
CORS on fetch Prefer classic form POST or the official SDK; see Troubleshooting
Row exists, no email/WhatsApp Channel not enabled, destination not verified, or plan gate (WhatsApp is Pro/Agency)

Next