Get Form Overview

GET/v1/forms/{form_id}/overview

Returns public information about a form.

This endpoint does not require authentication.

Path Parameters

form_id*string

Response Body

application/json

application/json

fetch("https://example.com/v1/forms/{form_id}/overview", {  method: "GET"})
{  "status": "open",  "schema": null,  "show_branding": true,  "redirect_url": null,  "success_title": "string",  "success_message": "string"}

Duplicate Form POST

Duplicates an existing form, copying its configuration. The following form properties are copied to the duplicate: - name - is_enabled - limit - honeypot_field - redirect_url - success_title - success_message Additionally, subscribed email addresses (those notified on new submissions) are also copied.

Create Submission POST

Submits data to a form. View [examples](/examples). ### Request Formats This endpoint accepts submissions in two formats: - **application/json** - **multipart/form-data** #### Special Handling for multipart/form-data - If a field named `$` is present, all other non-file fields are ignored. - If `$` contains a valid stringified JSON object, it will be parsed and used as the submission data. - If `$` contains any other value, it will be ignored. ### Common Errors Common errors are returned with a `422` response (`303` if you are using `Accept: text/html`) to make them easier to handle. The following table lists all common error codes: | Code | Description | | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | file_storage_limit_reached | Your team has reached its file storage limit. | | form_disabled | The form is currently disabled. You can enable or disable it in the dashboard or by using this [endpoint](/http-api/forms/update-form). | | no_data | No data was submitted. | | rate_limit | The rate limit has been exceeded. A maximum of 15 submissions per minute is allowed per IP address. Please wait 60 seconds before submitting another form. | | submission_limit_reached | The configured form **limit** has been reached, or your team has reached the total submission limit across all of its forms. | | validation_error | The submission did not pass validation. (Reserved for future use.) | ### Submission Data Limits The following limits apply to all submissions. Any submission that exceeds a limit will be rejected with a 413 Payload Too Large error. | Limit | Max Value | Description | | ----------------- | --------- | ---------------------------------------------------------------------------- | | Field Name | 100 B | Maximum length of a field name (JSON key or **name** attribute in an input). | | Property Count | 1000 | Maximum number of fields/properties per submission. | | File Count | 10 | Maximum number of files that can be uploaded in a single submission. | | Submission Size | 100 KB | Maximum total size of all non-file data after being stringified as JSON. | | File Upload Limit | 100 MB | Combined size limit for all uploaded files per submission. |