> ## Documentation Index
> Fetch the complete documentation index at: https://developers.formstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /forms/{formId}/submissions

Create a new submission for the specified form

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Formstack API v2025.0",
    "version": "0.0.4"
  },
  "servers": [
    {
      "url": "https://www.formstack.com/api/v2025",
      "description": "Production server"
    },
    {
      "url": "https://staging-formstack.com/api/v2025",
      "description": "Staging server"
    },
    {
      "url": "https://dev-formstack.com/api/v2025",
      "description": "Development server"
    }
  ],
  "paths": {
    "/forms/{formId}/submissions": {
      "post": {
        "tags": [
          "Submissions",
          "Classic"
        ],
        "description": "Create a new submission for the specified form",
        "operationId": "createSubmission",
        "parameters": [
          {
            "name": "formId",
            "in": "path",
            "description": "The unique identifier of the form to submit to",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSubmissionInputApiDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionCreateApiDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request: for a file or signature field this includes mixing presigned fileKeys with inline base64 uploads in the same field, an unknown fileKey, or a file that violates the field size limits"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "SubmissionDataAddressValueApiDto": {
        "title": "Submission Data Address Value",
        "description": "Submission data address value response",
        "properties": {
          "address": {
            "description": "First part of the address",
            "type": "string",
            "nullable": true
          },
          "address2": {
            "description": "Second part of the address",
            "type": "string",
            "nullable": true
          },
          "city": {
            "description": "City of the address",
            "type": "string",
            "nullable": true
          },
          "country": {
            "description": "Country of the address",
            "type": "string",
            "nullable": true
          },
          "state": {
            "description": "State of the address",
            "type": "string",
            "nullable": true
          },
          "zip": {
            "description": "Zip of the address",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionDataCheckboxValueApiDto": {
        "title": "Submission Data Checkbox Value",
        "description": "Submission data checkbox value response",
        "properties": {
          "values": {
            "description": "Values of the checkbox",
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionDataCreditCardValueApiDto": {
        "title": "Submission Data CreditCard Value",
        "description": "Submission data credit card value response",
        "properties": {
          "card": {
            "description": "Number of the credit card",
            "type": "string",
            "nullable": true
          },
          "cardexp": {
            "description": "Expiration date of the credit card",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionDataDatetimeValueApiDto": {
        "title": "Submission Data Datetime Value",
        "description": "Submission data datetime value response",
        "properties": {
          "values": {
            "description": "Values of the datetime",
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionDataFileValueApiDto": {
        "title": "Submission Data File Value",
        "description": "Submission data file value response",
        "properties": {
          "values": {
            "description": "Values of the file",
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionDataMatrixValueApiDto": {
        "title": "Submission Data Matrix Value",
        "description": "Submission data matrix value response",
        "properties": {
          "values": {
            "description": "Values of the matrix",
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": false
          }
        },
        "type": "object"
      },
      "SubmissionDataNameValueApiDto": {
        "title": "Submission Data Name Value",
        "description": "Submission data name value response",
        "properties": {
          "prefix": {
            "description": "Prefix of the name",
            "type": "string",
            "nullable": true
          },
          "first": {
            "description": "First name of the name",
            "type": "string",
            "nullable": true
          },
          "initial": {
            "description": "Initial of the name",
            "type": "string",
            "nullable": true
          },
          "middle": {
            "description": "Middle of the name",
            "type": "string",
            "nullable": true
          },
          "last": {
            "description": "Last name of the name",
            "type": "string",
            "nullable": true
          },
          "suffix": {
            "description": "Suffix of the name",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionDataProductValueApiDto": {
        "title": "Submission Data Product Value",
        "description": "Submission data product value response",
        "properties": {
          "chargeType": {
            "description": "ChargeType of the product",
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "description": "Quantity of the product",
            "type": "string",
            "nullable": true
          },
          "total": {
            "description": "Total of the product",
            "type": "string",
            "nullable": true
          },
          "unitPrice": {
            "description": "UnitPrice of the product",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionDataRadioValueApiDto": {
        "title": "Submission Data Radio Value",
        "description": "Submission data radio value response",
        "properties": {
          "values": {
            "description": "Values of the radio",
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionDataSelectValueApiDto": {
        "title": "Submission Data Select Value",
        "description": "Submission data select value response",
        "properties": {
          "values": {
            "description": "Values of the select",
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionDataSignatureValueApiDto": {
        "title": "Submission Data Signature Value",
        "description": "Submission data signature value response",
        "properties": {
          "values": {
            "description": "Values of the signature",
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionCreateApiDto": {
        "title": "Submission Create",
        "description": "Response containing details of a newly created submission",
        "properties": {
          "id": {
            "description": "The unique identifier of the created submission",
            "type": "integer",
            "nullable": false
          },
          "formId": {
            "description": "The unique identifier of the form this submission belongs to",
            "type": "integer",
            "nullable": false
          },
          "timestamp": {
            "description": "The date and time when the submission was created",
            "type": "string",
            "nullable": true
          },
          "userAgent": {
            "description": "The browser user agent string of the submitter",
            "type": "string",
            "nullable": true
          },
          "remoteAddr": {
            "description": "The IP address from which the submission was made",
            "type": "string",
            "nullable": true
          },
          "paymentStatus": {
            "description": "The current payment status if the form includes payment processing",
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "description": "The GPS latitude coordinate if location data was captured",
            "type": "string",
            "nullable": true
          },
          "longitude": {
            "description": "The GPS longitude coordinate if location data was captured",
            "type": "string",
            "nullable": true
          },
          "data": {
            "description": "Array of field data contained in this submission",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubmissionDataApiDto"
            },
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionDataApiDto": {
        "title": "Submission Data",
        "description": "Individual field data within a submission",
        "properties": {
          "field": {
            "description": "The unique identifier of the field this data belongs to",
            "type": "string",
            "nullable": false
          },
          "label": {
            "description": "The display label/name of the field",
            "type": "string",
            "nullable": true
          },
          "type": {
            "description": "The field type (text, email, select, etc.)",
            "type": "string",
            "nullable": true
          },
          "internalLabel": {
            "description": "The internal label/alias of the field for API usage",
            "type": "string",
            "nullable": true
          },
          "displayValue": {
            "description": "The formatted display value of the field as it would appear to users",
            "type": "string",
            "nullable": true
          },
          "parsedValue": {
            "description": "The structured, parsed value of the field data based on field type",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubmissionDataNameValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionDataAddressValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionDataDatetimeValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionDataProductValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionDataCheckboxValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionDataRadioValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionDataFileValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionDataMatrixValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionDataSelectValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionDataSignatureValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionDataCreditCardValueApiDto"
              }
            ]
          }
        },
        "type": "object"
      },
      "CreateSubmissionInputApiDto": {
        "title": "Create Submission",
        "description": "Request payload for creating a new form submission",
        "properties": {
          "fields": {
            "description": "Array of field data to be submitted with their values",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubmissionParsedFieldApiDto"
            },
            "nullable": false
          },
          "userAgent": {
            "description": "The browser user agent string of the submitter",
            "type": "string",
            "nullable": true
          },
          "remoteAddr": {
            "description": "The IP address from which the submission is being made",
            "type": "string",
            "nullable": true
          },
          "read": {
            "description": "Whether to mark the submission as read upon creation (true/false)",
            "type": "string",
            "nullable": true
          },
          "longitude": {
            "description": "The GPS longitude coordinate if location data is available",
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "description": "The GPS latitude coordinate if location data is available",
            "type": "string",
            "nullable": true
          },
          "deviceId": {
            "description": "The unique device identifier if available from mobile submissions",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionParsedFieldAddressValueApiDto": {
        "title": "Submission Parsed Field Address Value",
        "description": "Submission parsed field address value",
        "properties": {
          "address": {
            "description": "First part of the address",
            "type": "string",
            "nullable": true
          },
          "address2": {
            "description": "Second part of the address",
            "type": "string",
            "nullable": true
          },
          "city": {
            "description": "City of the address",
            "type": "string",
            "nullable": true
          },
          "country": {
            "description": "Country of the address",
            "type": "string",
            "nullable": true
          },
          "state": {
            "description": "State of the address",
            "type": "string",
            "nullable": true
          },
          "zip": {
            "description": "Zip of the address",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionParsedFieldCheckboxValueApiDto": {
        "title": "Submission Parsed Field Checkbox Value",
        "description": "Submission parsed field checkbox value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSubValuesApiDto"
          },
          {
            "properties": {
              "subvalues": {
                "description": "Subvalues of the checkbox field",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmissionParsedFieldSubValueApiDto"
                },
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldCreditCardValueApiDto": {
        "title": "Submission Parsed Field Credit Card Value",
        "description": "Submission parsed field credit card value",
        "properties": {
          "card": {
            "description": "Number of the credit card",
            "type": "string",
            "nullable": true
          },
          "cardexp": {
            "description": "Expiration date of the credit card",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionParsedFieldDatetimeValueApiDto": {
        "title": "Submission Parsed Field Datetime Value",
        "description": "Submission parsed field datetime value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSingleValueApiDto"
          },
          {
            "properties": {
              "value": {
                "description": "Value of the datetime field",
                "type": "string",
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldEmailValueApiDto": {
        "title": "Submission Parsed Field Email Value",
        "description": "Submission parsed field email value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSingleValueApiDto"
          },
          {
            "properties": {
              "value": {
                "description": "Value of the email field",
                "type": "string",
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldFileValueApiDto": {
        "title": "Submission Parsed Field File Value",
        "description": "Submission parsed field file value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSubValuesApiDto"
          },
          {
            "properties": {
              "subvalues": {
                "description": "Subvalues of the file field. Each subvalue is one file, supplied as either \"filename;base64data\" (the file embedded inline, bounded by the request body size limit) or a presigned `fileKey` returned by POST /forms/{formId}/fields/{fieldId}/upload-urls after the file has been uploaded directly to S3 (recommended for large files). To attach multiple files, send one subvalue per file. All subvalues within the field must use the same style — either all inline base64 or all presigned `fileKey`s; mixing the two in one field is rejected.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmissionParsedFieldSubValueApiDto"
                },
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldMatrixValueApiDto": {
        "title": "Submission Parsed Field Matrix Value",
        "description": "Submission parsed field matrix value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSubValuesApiDto"
          },
          {
            "properties": {
              "subvalues": {
                "description": "Subvalues of the matrix field",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmissionParsedFieldSubValueApiDto"
                },
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldNameValueApiDto": {
        "title": "Submission Parsed Field Name Value",
        "description": "Submission parsed field name value",
        "properties": {
          "prefix": {
            "description": "Prefix of the name",
            "type": "string",
            "nullable": true
          },
          "first": {
            "description": "First name of the name",
            "type": "string",
            "nullable": true
          },
          "initial": {
            "description": "Initial of the name",
            "type": "string",
            "nullable": true
          },
          "middle": {
            "description": "Middle of the name",
            "type": "string",
            "nullable": true
          },
          "last": {
            "description": "Last name of the name",
            "type": "string",
            "nullable": true
          },
          "suffix": {
            "description": "Suffix of the name",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionParsedFieldNumberValueApiDto": {
        "title": "Submission Parsed Field Number Value",
        "description": "Submission parsed field number value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSingleValueApiDto"
          },
          {
            "properties": {
              "value": {
                "description": "Value of the number field",
                "type": "string",
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldPhoneValueApiDto": {
        "title": "Submission Parsed Field Phone Value",
        "description": "Submission parsed field phone value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSingleValueApiDto"
          },
          {
            "properties": {
              "value": {
                "description": "Value of the phone field",
                "type": "string",
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldProductValueApiDto": {
        "title": "Submission Parsed Field Product Value",
        "description": "Submission parsed field product value",
        "properties": {
          "chargeType": {
            "description": "ChargeType of the product",
            "type": "string",
            "nullable": false
          },
          "quantity": {
            "description": "Quantity of the product",
            "type": "string",
            "nullable": true
          },
          "total": {
            "description": "Total of the product",
            "type": "string",
            "nullable": true
          },
          "unitPrice": {
            "description": "UnitPrice of the product",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionParsedFieldRadioValueApiDto": {
        "title": "Submission Parsed Field Radio Value",
        "description": "Submission parsed field radio value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSingleValueApiDto"
          },
          {
            "properties": {
              "value": {
                "description": "Value of the radio field",
                "type": "string",
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldRatingValueApiDto": {
        "title": "Submission Parsed Field Rating Value",
        "description": "Submission parsed field rating value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSingleValueApiDto"
          },
          {
            "properties": {
              "value": {
                "description": "Value of the rating field",
                "type": "string",
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldSelectValueApiDto": {
        "title": "Submission Parsed Field Select Value",
        "description": "Submission parsed field select value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSubValuesApiDto"
          },
          {
            "properties": {
              "subvalues": {
                "description": "Subvalues of the select field",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmissionParsedFieldSubValueApiDto"
                },
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldSignatureValueApiDto": {
        "title": "Submission Parsed Field Signature Value",
        "description": "Submission parsed field signature value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSubValuesApiDto"
          },
          {
            "properties": {
              "subvalues": {
                "description": "Subvalues of the signature field",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmissionParsedFieldSubValueApiDto"
                },
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldSingleValueApiDto": {
        "title": "Submission Parsed Field Single Value",
        "description": "Submission parsed field single value",
        "properties": {
          "value": {
            "description": "Value of the submissions field",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionParsedFieldSubValueApiDto": {
        "title": "Submission Parsed Field SubValue",
        "description": "Submission parsed field subvalue",
        "properties": {
          "subvalue": {
            "description": "Subvalue of the submission field",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionParsedFieldSubValuesApiDto": {
        "title": "Submission Parsed Field SubValues",
        "description": "Submission parsed field subvalues",
        "properties": {
          "subvalues": {
            "description": "Subvalues of the submission field",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubmissionParsedFieldSubValueApiDto"
            },
            "nullable": true
          }
        },
        "type": "object"
      },
      "SubmissionParsedFieldTableCellValueApiDto": {
        "title": "Submission Parsed Field Table Cell Value",
        "description": "Submission parsed field table cell value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSingleValueApiDto"
          },
          {
            "properties": {
              "value": {
                "description": "Value of the table cell field",
                "type": "string",
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldTextValueApiDto": {
        "title": "Submission Parsed Field Text Value",
        "description": "Submission parsed field text value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSingleValueApiDto"
          },
          {
            "properties": {
              "value": {
                "description": "Value of the text field",
                "type": "string",
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldTextareaValueApiDto": {
        "title": "Submission Parsed Field Textarea Value",
        "description": "Submission parsed field textarea value",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmissionParsedFieldSingleValueApiDto"
          },
          {
            "properties": {
              "value": {
                "description": "Value of the textarea field",
                "type": "string",
                "nullable": true
              }
            },
            "type": "object"
          }
        ]
      },
      "SubmissionParsedFieldApiDto": {
        "title": "Submission Parsed Field",
        "description": "Submission parsed field",
        "properties": {
          "id": {
            "description": "Id of the submission field",
            "type": "string",
            "nullable": false
          },
          "value": {
            "description": "Value of the submission field",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldTextValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldNameValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldAddressValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldCreditCardValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldProductValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldTableCellValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldDatetimeValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldRatingValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldRadioValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldNumberValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldPhoneValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldEmailValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldTextareaValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldMatrixValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldSignatureValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldFileValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldCheckboxValueApiDto"
              },
              {
                "$ref": "#/components/schemas/SubmissionParsedFieldSelectValueApiDto"
              }
            ]
          }
        },
        "type": "object"
      }
    }
  },
  "tags": [
    {
      "name": "Submissions",
      "description": "Submissions are the entries collected by your forms. Use these endpoints to create a submission, list submissions across all forms or for a specific form, count submissions, retrieve a single submission's data, edit or delete a submission, download uploaded files, and generate presigned URLs for direct file uploads. Results support pagination, date ranges, and field-level search."
    },
    {
      "name": "Classic",
      "description": "Classic"
    }
  ]
}
```