Skip to main content
POST

Create Form Submission

Submit a new response to a form using the OpnForm API. This endpoint allows you to programmatically collect form data without requiring user authentication.
This is a public endpoint designed for form submissions. No API authentication is required.

Prerequisites

Before submitting to a form, you’ll need:
  • A published form with a valid slug or UUID
  • Knowledge of the form’s field IDs (available via the Get Form endpoint)
  • Form fields configured according to your validation requirements
You can find your form’s slug in the OpnForm dashboard under form settings, or use the form’s UUID which is also displayed in the dashboard.

Request

Path Parameters

string
required
The form identifier - either a human-readable slug (e.g., customer-feedback) or UUID. You can find this in your OpnForm dashboard under form settings.

Request Body

string|number|boolean|array
Dynamic field data: Each form field is identified by its unique UUID. The value type depends on the field type:
  • Text fields: string
  • Number fields: number
  • Checkbox fields: boolean
  • Multi-select fields: array
Example: "3700d380-197b-47b9-a008-3acc31bbd506": "Alice Johnson"
number
Time in seconds it took the user to complete the form. Used for analytics and form optimization insights.
boolean
default:"false"
Submit the form as a partial submission. Only works if the form has “Collect partial submissions” enabled in its settings.When true, the response includes a submission_hash that can be used to update the same submission later.

Response

Success Response Fields

string
Response type indicator. Always "success" for successful submissions.
string
Human-readable success message describing the submission result.
string|null
Unique identifier for the created submission. Returns null for partial submissions.
boolean
Indicates whether this is the first submission for this form. Useful for triggering welcome flows or first-time user experiences.
boolean
Indicates if the form has a custom redirect URL configured. Always false for API submissions.
string|null
Unique hash for partial submissions that can be used to update the submission later. Only present when is_partial: true.

Use Cases

Basic Form Submission

Submit a complete contact form with validation:

Partial Submission Workflow

Save progress and complete later:

Path Parameters

slug
string
required

Body

application/json
completion_time
number

Time in seconds it took to complete the form

is_partial
boolean

If you want to submit your form as partial

Response

Form submission saved successfully

type
string
Example:

"success"

message
string
Example:

"Form submission saved."

submission_id
string | null
is_first_submission
boolean
redirect
boolean