---
title: "Patient Form Submission"
method: PUT
path: "/forms/{form_id}/submit"
tags: ["provider", "forms", "public"]
---

# Patient Form Submission

`PUT /forms/{form_id}/submit`

## Path parameters

- `form_id` string, required

## Headers

- `TENANT` string, required
- `API-KEY` string, required

## Request body

- FormSubmissionData
  - `blocks` union[]
    - union
      - SubmittedDemographicsBlock
        - `id` string, required
        - `blockType` 'DEMOGRAPHICS'
        - `email` string, required
        - `dateOfBirth` string, date, required
        - `gender` string, required
        - `address` AddressAnswer, required
          - `address` string, required
          - `addressLineTwo` string, nullable
          - `city` string, nullable
          - `state` string, nullable
          - `zipCode` string, nullable
          - `country` string, nullable
      - SubmittedPaymentMethodBlock
        - `id` string, required
        - `blockType` 'PAYMENT_METHODS'
        - `rainforestPaymentMethod` RainforestPaymentMethod
          - `paymentMethodId` string, required
          - `paymentMethodConfigId` string, required
          - `fingerprint` string, nullable, required
          - `methodType` string, required
          - `card` RainforestCard, required — The card used to pay for the payin
            - `brand` string, required
            - `last4` string, required
            - `expMonth` integer, required
            - `expYear` integer, required
          - `ach` RainforestACH, required — The ACH used to pay for the payin
            - `accountHolderType` string, required
            - `accountNumberLast4` string, required
            - `bankName` string, required
            - `routingNumber` string, required
          - `applePay` ApplePay, required
            - `type` string, required
            - `brand` string, required
            - `brandDesc` string, required
            - `description` string, required
          - `billingContact` BillingContact, required
            - `name` string, nullable, required
            - `addressLine1` string, nullable, required
            - `addressLine2` string, nullable, required
            - `city` string, nullable, required
            - `state` string, nullable, required
            - `postalCode` string, nullable, required
            - `country` string, nullable, required
            - `email` string, nullable, required
            - `phone` string, nullable, required
          - `metadata` object, required
          - `createdAt` string, required
          - `updatedAt` string, required
      - SubmittedMedicalHistoryBlock
        - `id` string, required
        - `blockType` 'MEDICAL_HISTORY'
        - `allergies` string[], nullable
        - `medications` string[], nullable
        - `familyHistory` string[], nullable
        - `medicalHistory` string[], nullable
        - `prescriptions` string[], nullable
        - `surgicalHistory` string[], nullable
        - `socialHistory` string[], nullable
      - SubmittedInsuranceBlock
        - `id` string, required
        - `blockType` 'INSURANCE'
        - `primary` FormInsuranceCoverage
          - `insuranceCoverageId` string, nullable
          - `pverifyCode` string, nullable
          - `memberId` string, nullable
          - `insurerName` string, nullable
          - `policyHolderName` string, nullable
          - `policyHolderDob` string, date, nullable
          - `groupId` string, nullable
          - `phoneNumber` string, nullable
        - `secondary` FormInsuranceCoverage
          - `insuranceCoverageId` string, nullable
          - `pverifyCode` string, nullable
          - `memberId` string, nullable
          - `insurerName` string, nullable
          - `policyHolderName` string, nullable
          - `policyHolderDob` string, date, nullable
          - `groupId` string, nullable
          - `phoneNumber` string, nullable
      - SubmittedDynamicBlock
        - `id` string, required
        - `blockType` 'DYNAMIC'
  - `patientId` string, required
  - `hadUploadError` boolean, nullable
  - `isCompleteSubmission` boolean

## Response `200`

Successful Response

- boolean

## Other responses

- `422` — Validation Error

---

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