API Reference
API Reference
Section titled “API Reference”Endpoint
Section titled “Endpoint”POST https://app.formkove.com/api/forms/{form_id}/submissions
Replace {form_id} with your form ID from the Formkove dashboard.
Request Body
Section titled “Request Body”Send a JSON object with your form fields. Formkove accepts any field names; just match them to your HTML form fields.
| Field | Type | Description |
|---|---|---|
subject | string | Email subject line for notifications |
replyto | string | Reply-to address in notification emails |
redirect | string | URL to redirect to after successful submission |
botcheck | boolean | Honeypot spam check. Must be present (hidden via CSS) |
webhook | string | URL to send submission data to (Pro) |
All other fields are treated as form data and forwarded to your notifications.
The form_id in the URL is your access key. It identifies the form and authenticates the submission. No additional key field is needed.
Example Request
Section titled “Example Request”fetch('https://app.formkove.com/api/forms/YOUR_FORM_ID/submissions', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify({ name: 'Jane Smith', email: 'jane@example.com', message: 'Hi, I'd like to schedule a demo.', subject: 'New Demo Request' })});Response Codes
Section titled “Response Codes”200 Success
Section titled “200 Success”{ "success": true, "submission_id": "sub_abc123", "message": "Submission received"}400 Client Error
Section titled “400 Client Error”{ "success": false, "error": "Invalid form ID"}Missing required fields return a descriptive error message.
429 Rate Limited
Section titled “429 Rate Limited”{ "success": false, "error": "Rate limit exceeded. Please try again later."}500 Server Error
Section titled “500 Server Error”{ "statusCode": 500, "error": "Something went wrong on our end. Try again shortly."}Cross-Origin Requests
Section titled “Cross-Origin Requests”The API supports CORS for client-side form submissions. JavaScript fetch() calls work directly from the browser, with no server-side proxy needed.
If you’re sending from a server (e.g., a backend form handler), you need a Pro or Agency plan.
No File Uploads via JSON
Section titled “No File Uploads via JSON”File attachments are not supported in JSON body submissions. To receive files, use the standard HTML form submission method (multipart/form-data). This is available on Pro and Agency plans.
For a complete fetch-based implementation, see JavaScript Form Submission.