Quick Start
Get your first form running in under a minute
Quick Start — Firaform
Welcome to Firaform 🎉 — this quick start gets you collecting submissions in under a minute.
1) Do you have a form yet?
Every new user account is created with a starter form called My First Form. If you don’t see a form called My First Form in your dashboard you can create one using the Add New Form button at the top of the Forms page.
2) Copy your form endpoint
Open the Forms page (the dashboard). Each form row has a copy button next to the endpoint — click it to copy the form’s submission endpoint URL to your clipboard.
Example endpoint (replace the UUID with the one from your form):
https://a.firaform.com/api/f/FORM-CODE-ID
3) Submit data from your website
Create a simple HTML form and use the copied URL as the action attribute. The submission must use the POST method.
Sample HTML form (paste this into any static page):
<form method="POST" action="https://a.firaform.com/api/f/FORM-CODE-ID">
<!-- Replace the action above with the endpoint you copied from the Forms page -->
<label for="name">Name</label>
<input id="name" name="name" type="text" required />
<label for="email">Email</label>
<input id="email" name="email" type="email" required />
<label for="message">Message</label>
<textarea id="message" name="message"></textarea>
<button type="submit">Send</button>
</form>
Notes and tips:
- Use the copy button on a form row to copy the exact endpoint for that form (it includes the form UUID so you don’t need to find the UUID manually).
- The endpoint expects POST requests and JSON or form-encoded body data representing field names and values — typical HTML forms work by default.
- If you need file uploads, make sure your form uses
enctype="multipart/form-data"and your field names match the file input names configured in your form’s settings.
4) Domains — allowed referring domains
Firaform restricts incoming submissions by checking the referring domain against your form’s Domains (a simple allow-list). By default every new user should have a single Domains record of * which accepts submissions from any referring domain.
- If you do not see any Domains records for your form, add one. You can either add
*to accept requests from anywhere, or add the specific domain(s) where you’ll host your form (for exampleexample.com). - If you don’t add a domain (or
*), Firaform will reject incoming form submissions coming from websites that are not allowed.
Example — allow any domain (not recommended in all cases):
*
Example — allow a single site:
example.com
When you have the allowed domain(s) configured, your submissions should be accepted by Firaform when posted from the listed domains.
5) Submitting via Ajax / Expecting JSON Response
If you want to submit data using JavaScript (Ajax) or expect a JSON response (for custom handling), you can add the HTTP header Accept: application/json to your request.
Example using fetch (JavaScript):
fetch('https://a.firaform.com/api/f/FORM-CODE-ID', {
method: 'POST',
headers: {
'Accept': 'application/json',
// Use 'Content-Type': 'application/json' if sending JSON
},
body: new FormData(document.getElementById('your-form'))
})
.then(response => response.json())
.then(data => {
// Handle JSON response
console.log(data);
})
.catch(error => {
// Handle error
console.error(error);
});
Notes:
- If you include
Accept: application/json, Firaform will respond with a JSON object containing success or error details. - For file uploads, use
FormDataas shown above. - For pure JSON payloads, set
Content-Type: application/jsonand useJSON.stringify()for the body.
Example using curl:
curl -X POST "https://a.firaform.com/api/f/FORM-CODE-ID" \
-H "Accept: application/json" \
-F "name=Jane Doe" \
-F "email=jane@example.com" \
-F "message=Hello!"
This is useful for integrating Firaform with JavaScript frontends, mobile apps, or other systems that expect JSON responses.