Troubleshooting
403 Forbidden: Origin Not Allowed
Cause: The domain your form is on doesn't match any domain configured for the site.
Fix:
- Go to your site's settings in the Dashboard
- Check the list of domains — make sure your domain is there
- Add both
example.comandwww.example.comif your site uses both - For local development, add
localhost
The Origin header sent by the browser must match exactly. AirForm compares the hostname only (no port, no protocol).
CORS Errors in the Browser Console
Cause: Same as above — the browser blocks the response when AirForm doesn't return an Access-Control-Allow-Origin header for your domain.
Fix: Add your domain to the site's domain list. CORS headers are only sent for configured domains.
Submissions Not Appearing in Airtable
Check these in order:
- Column names match — the
nameattributes in your form must exactly match the column names in Airtable (case-sensitive) - PAT has correct permissions — your Personal Access Token needs
data.records:writescope and access to the specific base - Base ID is correct — it should start with
app(e.g.,appABC123def456) - Table name is correct — must match exactly, including spaces and capitalization
429 Too Many Requests
Cause: You've exceeded the rate limit for the submission endpoint.
Fix: Wait a minute and retry. If you're testing, slow down your requests. Rate limits are per IP address.
Redirect Not Working
Cause: No redirect URL configured, or the form is submitting via JavaScript with Accept: application/json.
Fix:
- Set a redirect URL in your site settings
- For HTML forms (no JS), make sure you're not setting the
Acceptheader - For JS submissions, don't set
Accept: application/jsonif you want redirect behavior
Form Data Shows as Empty in Airtable
Cause: Form fields don't have name attributes, or the content type is wrong.
Fix:
- Every
<input>,<textarea>, and<select>needs anameattribute - For HTML forms, the default content type (
application/x-www-form-urlencoded) works automatically - For JavaScript, set
Content-Type: application/jsonand send a JSON body