Make your first sandbox submission

FormRoost is a form backend. Your website sends contact or lead fields to a FormRoost endpoint; FormRoost stores the accepted record in your Inbox and delivers a signed webhook event.

You create every resource explicitly. FormRoost never creates a project or form automatically.

1. Create and verify an account

Open /app/register. The Free plan requires no card and includes 50 production submissions plus 200 sandbox submissions per monthly usage period.

Verify your email before continuing. Unverified accounts cannot create projects, forms, endpoints, or billing state.

2. Create a project, then a form

In the portal:

  1. Open Projects and choose Create project.
  2. Open that project and choose Create form.
  3. Copy the sandbox endpoint shown on the form.

The order is required: account → project → form → environment.

3. Send JSON

curl -X POST 'http://localhost:8080/s/v1/sandbox/YOUR_SUBMISSION_ID' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: quickstart-0001' \
  -d '{"name":"Ada Lovelace","email":"[email protected]","topic":"Integration review"}'

A new acceptance returns 201 Created:

{
  "receiptId": "sub_...",
  "acceptedAt": "2026-08-25T12:00:00.000Z",
  "environment": "sandbox",
  "requestId": "...",
  "replay": false
}

The response never echoes submitted fields.

4. Inspect the Inbox

Open Inbox, select Sandbox, then open the accepted row. The readable field view appears first; canonical JSON and approved request metadata are separate views.

5. Add delivery

Configure a sandbox webhook for submission.created. FormRoost uses a CloudEvents 1.0.2 JSON envelope and Standard Webhooks HMAC-SHA256 headers. Store the signing secret when it is shown; it is not displayed again.

Production remains disabled until you review and explicitly publish configuration.