---
title: "Create submissions"
method: POST
path: "/forms/{formId}/submissions"
---

# Create submissions

`POST /forms/{formId}/submissions`

Create new submissions for a form

## Path parameters

- `formId` string, required

## Request body

- CreateSubmissionsRequest
  - `submissions` CreateSubmissionData[], required — List of submissions to create (maximum 10)
    - `questions` CreateQuestionResponse[], required — List of question responses (required)
      - `id` string, required — Identifier of the question
      - `value` unknown, required
    - `urlParameters` UrlParameterResponse[] — List of URL parameter values (optional)
      - `id` string, required — Identifier of the URL parameter
      - `name` string, required — Name of the URL parameter
      - `value` string, required — Value of the URL parameter
    - `submissionTime` string, date-time — When the submission was made (optional)
    - `lastUpdatedAt` string, date-time — When the submission was last updated (optional)
    - `scheduling` CreateSchedulingResponse[] — List of scheduling responses (optional)
      - `id` string, required — Identifier of the scheduling field
      - `value` CreateSchedulingValue, required
        - `fullName` string, required — Full name of the person booking
        - `email` string, email, required — Email of the person booking
        - `eventStartTime` string, date-time, required — Start time of the event
        - `eventEndTime` string, date-time, required — End time of the event
        - `timezone` string, required — Timezone for the meeting
        - `userId` integer — User ID (optional)
        - `scheduledUserEmail` string, email — Email of the scheduled user (optional)
        - `eventId` string — Calendar event ID (optional)
        - `eventUrl` string, uri — URL to the calendar event (optional)
        - `rescheduleOrCancelUrl` string, uri — URL to reschedule or cancel the event (optional)
        - `meetingNotes` string — Meeting notes (optional)
    - `payments` CreatePaymentResponse[] — List of payment responses (optional)
      - `id` string, required — Identifier of the payment field
      - `value` CreatePaymentValue, required
        - `paymentId` string, required — Stripe payment ID
        - `stripeCustomerId` string — Stripe customer ID (optional)
        - `stripeCustomerUrl` string, uri — URL to Stripe customer dashboard (optional)
        - `stripePaymentUrl` string, uri — URL to Stripe payment dashboard (optional)
        - `totalAmount` integer — Total amount in cents (optional)
        - `currency` string — Currency code (optional)
        - `email` string, email — Customer email (optional)
        - `status` string — Payment status (optional)
        - `stripeSubscriptionId` string — Stripe subscription ID (optional)
    - `login` LoginResponse
      - `email` string, email, required — Verified email address

## Response `200`

Created submissions

- CreateSubmissionsResponse
  - `submissions` Submission[], required — List of created submissions
    - `submissionId` string, required — Unique identifier for the submission
    - `submissionTime` string, date-time, required — When the submission was made
    - `lastUpdatedAt` string, date-time — When the submission was last updated
    - `questions` QuestionResponse[], required — List of question responses
      - `id` string, required — Identifier of the question
      - `name` string, required — The question text
      - `type` string, required — The type of the question
      - `value` unknown, required
    - `calculations` CalculationResponse[] — List of calculation responses
      - `id` string, required — Identifier of the calculation
      - `name` string, required — Name of the calculation
      - `type` 'number' | 'text' | 'duration', required — Type of the calculation
      - `value` string, required — The calculated value
    - `urlParameters` UrlParameterResponse[] — List of URL parameter values
      - `id` string, required — Identifier of the URL parameter
      - `name` string, required — Name of the URL parameter
      - `value` string, required — Value of the URL parameter
    - `scheduling` SchedulingResponse[] — List of scheduling responses (if using Fillout Scheduling)
      - `id` string, required — Identifier of the scheduling field
      - `name` string, required — Name of the scheduling field
      - `value` SchedulingValue, required
        - `fullName` string, required — Full name of the person booking
        - `email` string, email, required — Email of the person booking
        - `timezone` string, required — Timezone for the meeting
        - `eventStartTime` string, date-time, required — Start time of the event
        - `eventEndTime` string, date-time, required — End time of the event
        - `eventId` string — Calendar event ID
        - `eventUrl` string, uri — URL to the calendar event
        - `rescheduleOrCancelUrl` string, uri — URL to reschedule or cancel the event
        - `userId` integer — User ID (optional)
        - `scheduledUserEmail` string, email — Email of the scheduled user (optional)
        - `meetingNotes` string — Meeting notes (optional)
    - `payments` PaymentResponse[] — List of payment responses (if using Fillout Payments)
      - `id` string, required — Identifier of the payment field
      - `name` string, required — Name of the payment field
      - `value` PaymentValue, required
        - `paymentId` string, required — Stripe payment ID
        - `stripeCustomerId` string — Stripe customer ID (optional)
        - `stripeCustomerUrl` string, uri — URL to Stripe customer dashboard (optional)
        - `stripePaymentUrl` string, uri — URL to Stripe payment dashboard (optional)
        - `totalAmount` integer — Total amount in cents (optional)
        - `currency` string — Currency code (optional)
        - `email` string, email — Customer email (optional)
        - `discountCode` string — Discount code used (optional)
        - `status` string — Payment status (optional)
        - `stripeSubscriptionId` string — Stripe subscription ID (optional)
    - `quiz` QuizResponse
      - `score` integer, required — Quiz score
      - `maxScore` integer, required — Maximum possible score
    - `login` LoginResponse
      - `email` string, email, required — Verified email address

---

[API](https://skmtc.dev/fillout/apis/fillout-rest-api.md) · [All operations](https://skmtc.dev/fillout/apis/fillout-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fillout/fillout-rest-api/revisions/d5b0c0e0acfa/schema)
