API Authentication
Authenticate FormSync Public API requests with a bearer API key.
Authentication
Every request to the FormSync Public API must include an API key in the Authorization header.
HTTP
Requests without a valid bearer token are rejected with 401 Unauthorized.
Creating an API Key
You can create API keys from the FormSync dashboard:
- Open Dashboard.
- Navigate to API Keys.
- Create a new key and give it a descriptive name such as
Production BackendorAnalytics Worker.
FormSync shows the full API key only once at creation time. Store it securely in your secrets manager or environment variables.
Example Request
cURL
Using the SDK
The recommended way to work with the API from JavaScript or TypeScript is with the official formsync package:
Node.js
You can also import from the explicit API subpath if you prefer:
Alternative import
Both approaches create the same authenticated API client.
Server-Side Usage
API keys must only be used in trusted server environments.
Recommended places to use them:
- backend servers
- serverless functions
- queue workers
- internal tools running outside the browser
Do not expose API keys in:
- frontend JavaScript bundles
- public repositories
- client-side mobile or desktop applications
Key Rotation and Revocation
If a key is lost, leaked, or no longer needed:
- delete the compromised key from the dashboard
- create a replacement key
- update the affected deployment or secret store
Because keys are stored securely and only shown once, the safest recovery flow is to rotate them instead of trying to recover them.
Error Codes
| Status Code | Meaning | When it happens |
|---|---|---|
401 | Unauthorized | Missing, malformed, inactive, deleted, or invalid API key. |
404 | Not Found | The requested form does not exist or does not belong to the authenticated account. |
429 | Too Many Requests | The API rate limit has been exceeded. |
500 | Internal Server Error | An unexpected error occurred on the server. |
Rate Limiting
Authenticated API requests are currently limited to 120 requests per minute per API key and IP address combination.
When the limit is exceeded, FormSync returns:
429 response
For best results, retry with backoff and avoid aggressive polling loops.
How is this guide?
Last updated on May 1, 2026