Get started in 30 seconds.
1. Create a project
Sign up and create a project from your dashboard. You'll get a unique endpoint URL instantly — no configuration needed.
2. Point your form
Set your HTML form's action attribute to your Postix endpoint URL.
<form action="https://postix.app/f/YOUR_PROJECT_ID" method="POST">
<input name="name" placeholder="Name" required />
<input name="email" type="email" placeholder="Email" required />
<textarea name="message" placeholder="Message"></textarea>
<button type="submit">Send</button>
</form>3. Or use JavaScript
You can also submit via fetch or any HTTP client. Send JSON with the appropriate content type header.
fetch("https://postix.app/f/YOUR_PROJECT_ID", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
name: "Jane Doe",
email: "jane@example.com",
message: "Hello from JavaScript!"
})
})Redirects
After a form submission, the user is redirected based on this priority:
_redirecthidden field in the form (per-submission override)- Success/Error redirect URL configured in project settings
- Back to the page the form was on, with
#form-submittedor#form-errorappended - JSON response (for fetch / API callers with no Referer)
Add a hidden field to override the redirect per form:
<input type="hidden" name="_redirect" value="https://yoursite.com/thanks" />Detecting submission status
When no redirect is configured, the user is sent back to the form page with a URL hash. Use JavaScript to show a success or error message:
if (window.location.hash === "#form-submitted") {
alert("Thanks! Your message was sent.")
}
if (window.location.hash === "#form-error") {
alert("Something went wrong. Please try again.")
}Allowed origins
By default, any domain can submit to your endpoint. Restrict this in your project settings by adding specific allowed origins. The server checks the Origin and Referer headers on each request. Use *.example.com to allow all subdomains.
Submission metadata
Every submission automatically captures metadata from the request headers:
From X-Forwarded-For or X-Real-IP headers
City, region, country — via IP geolocation (ip-api.com)
Inferred from IP geolocation
Internet service provider name
Browser and OS information
The page the form was submitted from
From the Accept-Language header
Supported content types
application/x-www-form-urlencodedStandard HTML form submissions
multipart/form-dataFile upload forms
application/jsonJavaScript / API clients
Webhooks
Configure webhooks in your project settings to receive a POST request every time a form is submitted. Each webhook receives a JSON payload with the submission data and project info.
{
"event": "submission.created",
"project": { "id": "psx_abc123", "name": "My Project" },
"submission": {
"id": 1,
"data": { "name": "John", "email": "john@example.com" },
"meta": { "ip": "1.2.3.4", "country": "US" },
"createdAt": "2026-03-19T12:00:00.000Z"
}
}If you set a webhook secret, each request includes an X-Postix-Signature header with an HMAC-SHA256 signature for verification.
Ready to go?
Create your first project and start collecting submissions.
Get Started Free →