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

# updateUnderwritingApplication

> Update an underwriting application.

`Mutation`

## Arguments

<ParamField path="input" type="UnderwritingApplicationUpdateInput!" required>
  <Expandable title="child attributes">
    <ParamField path="assignee" type="ApplicationAssigneeInput">
      The user to assign to this application.

      <Expandable title="child attributes">
        <ParamField path="userId" type="UUID!" required>
          The unique identifier of the user to assign.
        </ParamField>

        <ParamField path="userName" type="String!" required>
          The display name of the user to assign.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="bankAccounts" type="[UnderwritingApplicationBankAccountInput!]">
      Bank accounts associated with the underwriting application

      <Expandable title="child attributes">
        <ParamField path="addBankAccountInput" type="UnderwritingApplicationAddBankAccountInput">
          Input for adding a new bank account to an underwriting application.

          <Expandable title="child attributes">
            <ParamField path="accountNumber" type="String">
              The account number of the bank account.
            </ParamField>

            <ParamField path="routingNumber" type="String">
              The routing number of the bank account.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField path="removeBankAccountInput" type="UnderwritingApplicationRemoveBankAccountInput">
          Input for removing a bank account from an underwriting application.

          <Expandable title="child attributes">
            <ParamField path="id" type="UUID!" required>
              The ID of the bank account to remove.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField path="updateBankAccountInput" type="UnderwritingApplicationUpdateBankAccountInput">
          Input for updating an existing bank account on an underwriting application.

          <Expandable title="child attributes">
            <ParamField path="accountNumber" type="String">
              The account number of the bank account.
            </ParamField>

            <ParamField path="id" type="UUID!" required>
              The ID of the bank account to update.
            </ParamField>

            <ParamField path="routingNumber" type="String">
              The routing number of the bank account.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="comments" type="[ApplicationCommentsInput!]">
      Comments associated with the application

      <Expandable title="child attributes">
        <ParamField path="addCommentsInput" type="AddApplicationCommentsInput">
          Input for adding a new comment

          <Expandable title="child attributes">
            <ParamField path="comment" type="String!" required>
              The comment text to add
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="declineCodes" type="[DeclineCodeInput!]">
      The decline reasons for this application. Maximum of four can be selected.

      <Expandable title="child attributes">
        <ParamField path="addDeclineCodeInput" type="DeclineCode">
          Add a new decline code to the application.

          See [DeclineCode](/underwriting/reference/graphql/types/decline-code)
        </ParamField>

        <ParamField path="removeDeclineCodeInput" type="DeclineCode">
          Remove an existing decline code from the application.

          See [DeclineCode](/underwriting/reference/graphql/types/decline-code)
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="id" type="UUID!" required>
      The unique identifier of the underwriting application to update.
    </ParamField>

    <ParamField path="processingActivity" type="UnderwritingApplicationProcessingActivityInput">
      Processing activity information for the underwriting application

      <Expandable title="child attributes">
        <ParamField path="advancedPaymentRate" type="Percentage">
          The advanced payment rate for the underwriting application. Formatted as a decimal.
        </ParamField>

        <ParamField path="averageAnnualSalesAmount" type="Decimal">
          The average annual sales amount, in the specified currency.
        </ParamField>

        <ParamField path="averageMonthlySalesAmount" type="Decimal">
          The average gross sales amount, in the specified currency.
        </ParamField>

        <ParamField path="averageTicketAmount" type="Decimal">
          The average amount of a transaction, in the specified currency.
        </ParamField>

        <ParamField path="cardNotPresentMix" type="Percentage">
          The approximate mix of card-not-present (CNP) transactions. Formatted as a decimal., e.g., If CNP transactions make up 80% of total volume, input as 0.8.
        </ParamField>

        <ParamField path="cardPresentMix" type="Percentage">
          The approximate mix of card present (CP) transactions. Formatted as a decimal., e.g., If CP transactions make up 20% of total volume, input as 0.2.
        </ParamField>

        <ParamField path="chargebackRate" type="Percentage">
          The approximate rate of chargebacks. Formatted as a decimal, e.g., If the chargeback rate is 0.25%, input as 0.0025.
        </ParamField>

        <ParamField path="currency" type="CurrencyCodeAlpha">
          The currency specified on the transaction requests, in ISO 4217 alpha currency code format.
        </ParamField>

        <ParamField path="daysInCycle" type="Int">
          The number of days in the processing cycle.
        </ParamField>

        <ParamField path="deliveryTimeframe" type="Int">
          The delivery timeframe in days.
        </ParamField>

        <ParamField path="highestTicketAmount" type="Decimal">
          The highest amount of a transaction, in the specified currency.
        </ParamField>

        <ParamField path="refundRate" type="Percentage">
          The approximate rate of refunds. Formatted as a decimal, e.g., If the refund rate is 10% of sales, input as 0.1
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="relationshipProcessingActivity" type="RelationshipProcessingActivityInput">
      Relationship-wide processing activity totals across all locations in the relationship, including this application

      <Expandable title="child attributes">
        <ParamField path="advancedPaymentRate" type="Percentage">
          The relationship-wide advanced payment rate across all locations, including this application. Formatted as a decimal.
        </ParamField>

        <ParamField path="averageAnnualSalesAmount" type="Decimal">
          The average annual sales amount, in the specified currency.
        </ParamField>

        <ParamField path="averageMonthlySalesAmount" type="Decimal">
          The average gross sales amount, in the specified currency.
        </ParamField>

        <ParamField path="averageTicketAmount" type="Decimal">
          The average amount of a transaction, in the specified currency.
        </ParamField>

        <ParamField path="cardNotPresentMix" type="Percentage">
          The approximate mix of card-not-present (CNP) transactions. Formatted as a decimal., e.g., If CNP transactions make up 80% of total volume, input as 0.8.
        </ParamField>

        <ParamField path="cardPresentMix" type="Percentage">
          The approximate mix of card present (CP) transactions. Formatted as a decimal., e.g., If CP transactions make up 20% of total volume, input as 0.2.
        </ParamField>

        <ParamField path="chargebackRate" type="Percentage">
          The approximate rate of chargebacks. Formatted as a decimal, e.g., If the chargeback rate is 0.25%, input as 0.0025.
        </ParamField>

        <ParamField path="currency" type="CurrencyCodeAlpha">
          The currency specified on the transaction requests, in ISO 4217 alpha currency code format.
        </ParamField>

        <ParamField path="daysInCycle" type="Int">
          The number of days in the processing cycle.
        </ParamField>

        <ParamField path="deliveryTimeframe" type="Int">
          The relationship-wide delivery timeframe in days across all locations, including this application.
        </ParamField>

        <ParamField path="highestTicketAmount" type="Decimal">
          The highest amount of a transaction, in the specified currency.
        </ParamField>

        <ParamField path="refundRate" type="Percentage">
          The approximate rate of refunds. Formatted as a decimal, e.g., If the refund rate is 10% of sales, input as 0.1
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="stakeholders" type="[UnderwritingApplicationStakeholderInput!]">
      Stakeholders associated with the application

      <Expandable title="child attributes">
        <ParamField path="addPersonStakeholderInput" type="AddUnderwritingApplicationPersonStakeholderInput">
          Add a new person stakeholder to the application.

          <Expandable title="child attributes">
            <ParamField path="birthDate" type="Date" />

            <ParamField path="emailAddress" type="String" />

            <ParamField path="identificationNumber" type="PersonalIdentificationNumberInput">
              Required if roles includes "Owner", "ControlPerson", "Guarantor".

              <Expandable title="child attributes">
                <ParamField path="type" type="PersonalIdentificationNumberType">
                  Always supply a SSN or ITIN if available.

                  <Expandable title="Possible enum values">
                    <ParamField path="SSN" type="enum">
                      Social Security Number.
                    </ParamField>

                    <ParamField path="PASSPORT_NUMBER" type="enum">
                      Passport number - only to be used when the person's address is outside of the United States.
                    </ParamField>

                    <ParamField path="ITIN" type="enum">
                      Individual Tax Identification Number.
                    </ParamField>
                  </Expandable>
                </ParamField>

                <ParamField path="value" type="String">
                  The personal identification number.
                </ParamField>
              </Expandable>
            </ParamField>

            <ParamField path="ipAddress" type="String" />

            <ParamField path="name" type="PersonNameInput">
              <Expandable title="child attributes">
                <ParamField path="firstName" type="String">
                  The person's first name.
                </ParamField>

                <ParamField path="lastName" type="String">
                  The person's last name.
                </ParamField>

                <ParamField path="middleName" type="String">
                  The person's middle name.
                </ParamField>

                <ParamField path="postNominal" type="String">
                  The person's name post nominal.
                </ParamField>

                <ParamField path="salutation" type="String">
                  The person's salutation.
                </ParamField>

                <ParamField path="suffix" type="String">
                  The person's name suffix.
                </ParamField>
              </Expandable>
            </ParamField>

            <ParamField path="ownershipPercentage" type="Percentage">
              The approximate ownership of the acceptor that this owner holds. Formatted as a decimal, e.g., If the owners holds 30%, input as 0.30.
            </ParamField>

            <ParamField path="residentialAddress" type="AddressInput">
              <Expandable title="child attributes">
                <ParamField path="address1" type="Max100Text">
                  The first line of the address.
                </ParamField>

                <ParamField path="address2" type="Max100Text">
                  The second line of the address, if applicable.
                </ParamField>

                <ParamField path="city" type="Max100Text">
                  City, town, or village.
                </ParamField>

                <ParamField path="countryCode" type="CountryCode">
                  The ISO 3166-1 three-letter country code associated with the address.

                  See [CountryCode](/underwriting/reference/graphql/types/country-code)
                </ParamField>

                <ParamField path="postalCode" type="Max15Text">
                  A set of specific numbers, and sometimes letters, that help postal services deliver mail.
                </ParamField>

                <ParamField path="state" type="Max100Text">
                  State or province.
                </ParamField>
              </Expandable>
            </ParamField>

            <ParamField path="roles" type="[StakeholderRole!]">
              See [StakeholderRole](/underwriting/reference/graphql/types/stakeholder-role)
            </ParamField>

            <ParamField path="telephoneNumber" type="String" />

            <ParamField path="title" type="String" />
          </Expandable>
        </ParamField>

        <ParamField path="removePersonStakeholderInput" type="RemoveUnderwritingApplicationPersonStakeholderInput">
          Remove a person stakeholder from the application.

          <Expandable title="child attributes">
            <ParamField path="id" type="UUID!" required>
              A unique UUID created by Tesouro and assigned to the stakeholder.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField path="updatePersonStakeholderInput" type="UpdateUnderwritingApplicationPersonStakeholderInput">
          Update an existing person stakeholder in the application.

          <Expandable title="child attributes">
            <ParamField path="birthDate" type="Date" />

            <ParamField path="emailAddress" type="String" />

            <ParamField path="id" type="UUID!" required>
              A unique UUID created by Tesouro and assigned to the stakeholder.
            </ParamField>

            <ParamField path="identificationNumber" type="PersonalIdentificationNumberInput">
              Required if roles includes "Owner", "ControlPerson", "Guarantor".

              <Expandable title="child attributes">
                <ParamField path="type" type="PersonalIdentificationNumberType">
                  Always supply a SSN or ITIN if available.

                  <Expandable title="Possible enum values">
                    <ParamField path="SSN" type="enum">
                      Social Security Number.
                    </ParamField>

                    <ParamField path="PASSPORT_NUMBER" type="enum">
                      Passport number - only to be used when the person's address is outside of the United States.
                    </ParamField>

                    <ParamField path="ITIN" type="enum">
                      Individual Tax Identification Number.
                    </ParamField>
                  </Expandable>
                </ParamField>

                <ParamField path="value" type="String">
                  The personal identification number.
                </ParamField>
              </Expandable>
            </ParamField>

            <ParamField path="ipAddress" type="String" />

            <ParamField path="name" type="PersonNameInput">
              <Expandable title="child attributes">
                <ParamField path="firstName" type="String">
                  The person's first name.
                </ParamField>

                <ParamField path="lastName" type="String">
                  The person's last name.
                </ParamField>

                <ParamField path="middleName" type="String">
                  The person's middle name.
                </ParamField>

                <ParamField path="postNominal" type="String">
                  The person's name post nominal.
                </ParamField>

                <ParamField path="salutation" type="String">
                  The person's salutation.
                </ParamField>

                <ParamField path="suffix" type="String">
                  The person's name suffix.
                </ParamField>
              </Expandable>
            </ParamField>

            <ParamField path="ownershipPercentage" type="Percentage">
              The approximate ownership of the acceptor that this owner holds. Formatted as a decimal, e.g., If the owners holds 30%, input as 0.30.
            </ParamField>

            <ParamField path="residentialAddress" type="AddressInput">
              <Expandable title="child attributes">
                <ParamField path="address1" type="Max100Text">
                  The first line of the address.
                </ParamField>

                <ParamField path="address2" type="Max100Text">
                  The second line of the address, if applicable.
                </ParamField>

                <ParamField path="city" type="Max100Text">
                  City, town, or village.
                </ParamField>

                <ParamField path="countryCode" type="CountryCode">
                  The ISO 3166-1 three-letter country code associated with the address.

                  See [CountryCode](/underwriting/reference/graphql/types/country-code)
                </ParamField>

                <ParamField path="postalCode" type="Max15Text">
                  A set of specific numbers, and sometimes letters, that help postal services deliver mail.
                </ParamField>

                <ParamField path="state" type="Max100Text">
                  State or province.
                </ParamField>
              </Expandable>
            </ParamField>

            <ParamField path="roles" type="[StakeholderRole!]">
              See [StakeholderRole](/underwriting/reference/graphql/types/stakeholder-role)
            </ParamField>

            <ParamField path="telephoneNumber" type="String" />

            <ParamField path="title" type="String" />
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="status" type="UnderwritingApplicationUpdatableStatusInput">
      The new status to set for the underwriting application.

      <Expandable title="Possible enum values">
        <ParamField path="APPROVED" type="enum">
          The application has been approved, either automatically or manually.
        </ParamField>

        <ParamField path="DECLINED" type="enum">
          The application has been rejected due to verification failures, compliance issues, or other disqualifying factors.
        </ParamField>

        <ParamField path="PENDING" type="enum">
          The application is awaiting manual review or requires additional information to complete the underwriting process.
        </ParamField>

        <ParamField path="WITHDRAWN" type="enum">
          The application has been withdrawn.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="underwritingIdentity" type="UnderwritingApplicationIdentityInput">
      Identity information for the underwriting application

      <Expandable title="child attributes">
        <ParamField path="applicantType" type="ApplicantType">
          The type of the application (e.g., MERCHANT, SPONSORED\_MERCHANT, etc.). Mirrors AcceptorType values.

          See [ApplicantType](/underwriting/reference/graphql/types/applicant-type)
        </ParamField>

        <ParamField path="businessAddress" type="AddressInput">
          The physical location that the acceptor uses to identify itself for operational and communication purposes.

          <Expandable title="child attributes">
            <ParamField path="address1" type="Max100Text">
              The first line of the address.
            </ParamField>

            <ParamField path="address2" type="Max100Text">
              The second line of the address, if applicable.
            </ParamField>

            <ParamField path="city" type="Max100Text">
              City, town, or village.
            </ParamField>

            <ParamField path="countryCode" type="CountryCode">
              The ISO 3166-1 three-letter country code associated with the address.

              See [CountryCode](/underwriting/reference/graphql/types/country-code)
            </ParamField>

            <ParamField path="postalCode" type="Max15Text">
              A set of specific numbers, and sometimes letters, that help postal services deliver mail.
            </ParamField>

            <ParamField path="state" type="Max100Text">
              State or province.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField path="businessEntityType" type="BusinessEntityType">
          The legal structure of a company, which determines its rights, liabilities, and taxation. e.g., LLC, Sole proprietor, C-Corp, etc.

          See [BusinessEntityType](/underwriting/reference/graphql/types/business-entity-type)
        </ParamField>

        <ParamField path="businessName" type="String">
          The descriptive name for the organization that is different from its legal entity name. Also known as "Doing Business As" (DBA), "trade name", "assumed name", or "fictitious name".
        </ParamField>

        <ParamField path="defaultMerchantCategoryCode" type="String">
          The default merchant category code for the underwriting application.
        </ParamField>

        <ParamField path="isKnownEntity" type="Boolean">
          Indicates the entity is a known trusted entity.
        </ParamField>

        <ParamField path="isLegalAddressSameAsBusinessAddress" type="Boolean">
          Indicates that the legal address is the same as the business address.
        </ParamField>

        <ParamField path="isProcessingStatement" type="Boolean" />

        <ParamField path="legalAddress" type="AddressInput">
          The physical location that the acceptor uses to identify itself for legal purposes.

          <Expandable title="child attributes">
            <ParamField path="address1" type="Max100Text">
              The first line of the address.
            </ParamField>

            <ParamField path="address2" type="Max100Text">
              The second line of the address, if applicable.
            </ParamField>

            <ParamField path="city" type="Max100Text">
              City, town, or village.
            </ParamField>

            <ParamField path="countryCode" type="CountryCode">
              The ISO 3166-1 three-letter country code associated with the address.

              See [CountryCode](/underwriting/reference/graphql/types/country-code)
            </ParamField>

            <ParamField path="postalCode" type="Max15Text">
              A set of specific numbers, and sometimes letters, that help postal services deliver mail.
            </ParamField>

            <ParamField path="state" type="Max100Text">
              State or province.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField path="legalEntityName" type="String">
          The official, registered name of a business that appears on legal documents, and used to identify the company legally by the government. It is distinct from the "business name",  "Doing Business As" (DBA), "trade name", "assumed name", and "fictitious name".
        </ParamField>

        <ParamField path="merchantCategories" type="[MerchantCategoryInput!]" deprecated>
          Deprecated: Use defaultMerchantCategoryCode instead. Only a single merchant category code is supported for underwriting applications.

          **Deprecated:** Use defaultMerchantCategoryCode instead. This field will be removed in a future version.

          <Expandable title="child attributes">
            <ParamField path="code" type="String!" required>
              Unique ISO four digit value used to classify merchants and their transactions into specific categories based on the type of business, trade or services supplied.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField path="serviceTelephoneNumber" type="String">
          The telephone number of the organization that is provided on the billing statement for service inquiries.
        </ParamField>

        <ParamField path="softwareProviderNames" type="[String!]">
          The names of the software providers used by the applicant.
        </ParamField>

        <ParamField path="stateOfIncorporation" type="String">
          The U.S. state or jurisdiction in which the legal entity was incorporated or formed (2-character code).
        </ParamField>

        <ParamField path="taxIdentificationNumber" type="TaxIdentificationNumberInput">
          The tax identification number of the legal entity.

          <Expandable title="child attributes">
            <ParamField path="type" type="TaxIdentificationNumberType">
              Type of tax identification number.

              See [TaxIdentificationNumberType](/underwriting/reference/graphql/types/tax-identification-number-type)
            </ParamField>

            <ParamField path="value" type="String">
              The tax identification number.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField path="underwritingReference" type="String">
          The unique identifier used to identify the underwriting application.
        </ParamField>

        <ParamField path="underwritingRelationshipReference" type="String">
          An optional field that the Transactor would pass to potentially identify multiple applications that roll up to a broader relationship.
        </ParamField>

        <ParamField path="websiteUrl" type="String">
          The website address for the applicant.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## Return type

`UpdateUnderwritingApplicationPayload!`

<ResponseField name="errors" type="[UpdateUnderwritingApplicationError!]">
  Errors that occurred during the mutation, if any. Null or empty indicates success.

  <Expandable title="Possible types">
    <Expandable title="UnderwritingApplicationBankAccountFieldValidationError">
      Represents a field-level validation error on a bank account within an underwriting application.

      <ResponseField name="bankAccountId" type="UUID!" required>
        The associated bank account id
      </ResponseField>

      <ResponseField name="code" type="UnderwritingApplicationBankAccountFieldValidationGraphQlErrorCode!" required>
        A static code for tying the response back programmatically

        See [UnderwritingApplicationBankAccountFieldValidationGraphQlErrorCode](/underwriting/reference/graphql/types/underwriting-application-bank-account-field-validation-graph-ql-error-code)
      </ResponseField>

      <ResponseField name="field" type="String!" required>
        The field that is invalid
      </ResponseField>

      <ResponseField name="message" type="String!" required>
        A helpful message to help fix the invalid value
      </ResponseField>
    </Expandable>

    <Expandable title="UnderwritingApplicationValidationError">
      Represents a validation error on an underwriting application that is not specific to a single field.

      <ResponseField name="code" type="UnderwritingApplicationValidationErrorCode!" required>
        A static code for tying the response back programmatically.

        See [UnderwritingApplicationValidationErrorCode](/underwriting/reference/graphql/types/underwriting-application-validation-error-code)
      </ResponseField>

      <ResponseField name="message" type="String!" required>
        A helpful message to help fix the validation error.
      </ResponseField>
    </Expandable>

    <Expandable title="UnderwritingApplicationFieldValidationError">
      Represents a field-level validation error on an underwriting application.

      <ResponseField name="code" type="UnderwritingApplicationFieldValidationErrorCode!" required>
        A static code for tying the response back programmatically.

        See [UnderwritingApplicationFieldValidationErrorCode](/underwriting/reference/graphql/types/underwriting-application-field-validation-error-code)
      </ResponseField>

      <ResponseField name="field" type="String!" required>
        The field that is invalid.
      </ResponseField>

      <ResponseField name="message" type="String!" required>
        A helpful message to help fix the invalid value.
      </ResponseField>
    </Expandable>

    <Expandable title="UnderwritingApplicationStakeholderFieldValidationError">
      Represents a field-level validation error on a stakeholder within an underwriting application.

      <ResponseField name="code" type="UnderwritingApplicationStakeholderFieldValidationErrorCode!" required>
        A static code for tying the response back programmatically

        See [UnderwritingApplicationStakeholderFieldValidationErrorCode](/underwriting/reference/graphql/types/underwriting-application-stakeholder-field-validation-error-code)
      </ResponseField>

      <ResponseField name="field" type="String!" required>
        The field that is invalid
      </ResponseField>

      <ResponseField name="message" type="String!" required>
        A helpful message to help fix the invalid value
      </ResponseField>

      <ResponseField name="stakeholderId" type="UUID!" required>
        The associated stakeholder ID
      </ResponseField>
    </Expandable>

    <Expandable title="ForbiddenError">
      <ResponseField name="advice" type="String!" required />

      <ResponseField name="code" type="CommonErrorCode!" required>
        See [CommonErrorCode](/underwriting/reference/graphql/types/common-error-code)
      </ResponseField>

      <ResponseField name="message" type="String!" required />
    </Expandable>

    <Expandable title="InvalidActorError">
      <ResponseField name="advice" type="String!" required />

      <ResponseField name="code" type="CommonErrorCode!" required>
        See [CommonErrorCode](/underwriting/reference/graphql/types/common-error-code)
      </ResponseField>

      <ResponseField name="message" type="String!" required />
    </Expandable>

    <Expandable title="InvalidOrganizationError">
      <ResponseField name="advice" type="String!" required />

      <ResponseField name="code" type="CommonErrorCode!" required>
        See [CommonErrorCode](/underwriting/reference/graphql/types/common-error-code)
      </ResponseField>

      <ResponseField name="message" type="String!" required />
    </Expandable>

    <Expandable title="NotFoundError">
      <ResponseField name="advice" type="String!" required />

      <ResponseField name="code" type="CommonErrorCode!" required>
        See [CommonErrorCode](/underwriting/reference/graphql/types/common-error-code)
      </ResponseField>

      <ResponseField name="message" type="String!" required />

      <ResponseField name="resourceId" type="String" />

      <ResponseField name="resourceName" type="String" />
    </Expandable>

    <Expandable title="ServerError">
      <ResponseField name="advice" type="String!" required />

      <ResponseField name="code" type="CommonErrorCode!" required>
        See [CommonErrorCode](/underwriting/reference/graphql/types/common-error-code)
      </ResponseField>

      <ResponseField name="message" type="String!" required />
    </Expandable>
  </Expandable>
</ResponseField>

<ResponseField name="underwritingApplication" type="UnderwritingApplication">
  The underwriting application that was created or updated.

  <Expandable title="child attributes">
    <ResponseField name="applicationEvents" type="ApplicationEventCollection">
      The events associated with the application.

      See [ApplicationEventCollection](/underwriting/reference/graphql/types/application-event-collection)
    </ResponseField>

    <ResponseField name="applicationIdentity" type="UnderwritingApplicationIdentity">
      The identity information of the application.

      See [UnderwritingApplicationIdentity](/underwriting/reference/graphql/types/underwriting-application-identity)
    </ResponseField>

    <ResponseField name="applicationStatus" type="UnderwritingApplicationStatus!" required>
      The status of the application.

      See [UnderwritingApplicationStatus](/underwriting/reference/graphql/types/underwriting-application-status)
    </ResponseField>

    <ResponseField name="assignee" type="ApplicationAssignee">
      The user assigned to the application.

      See [ApplicationAssignee](/underwriting/reference/graphql/types/application-assignee)
    </ResponseField>

    <ResponseField name="attachments" type="[Attachment!]!" required>
      The attachments associated with the application.

      See [Attachment](/underwriting/reference/graphql/types/attachment)
    </ResponseField>

    <ResponseField name="bankAccounts" type="[UnderwritingBankAccount!]">
      Bank account information. Optionally reveal sensitive fields for a specific bank account.

      See [UnderwritingBankAccount](/underwriting/reference/graphql/types/underwriting-bank-account)
    </ResponseField>

    <ResponseField name="comments" type="[Comment!]!" required>
      The comments associated with the application.

      See [Comment](/underwriting/reference/graphql/types/comment)
    </ResponseField>

    <ResponseField name="createdBy" type="Actor">
      The actor who created the application.

      See [Actor](/underwriting/reference/graphql/types/actor)
    </ResponseField>

    <ResponseField name="createdDateTime" type="DateTime!" required>
      The date and time when the application was created.
    </ResponseField>

    <ResponseField name="decisionComponents" type="[DecisionComponent!]!" required>
      The underwriting decision components for the application.

      See [DecisionComponent](/underwriting/reference/graphql/types/decision-component)
    </ResponseField>

    <ResponseField name="declineReasons" type="[DeclineReason!]!" required>
      The decline reasons associated with the application. Empty when no reasons have been selected.

      See [DeclineReason](/underwriting/reference/graphql/types/decline-reason)
    </ResponseField>

    <ResponseField name="dynamicField" type="UnderwritingDynamicField">
      A single dynamic field value looked up by the stable key of its root schema node, enabling field-style aliasing. Optionally scope to a decision-component item.

      See [UnderwritingDynamicField](/underwriting/reference/graphql/types/underwriting-dynamic-field)
    </ResponseField>

    <ResponseField name="dynamicFields" type="[UnderwritingDynamicField!]!" required>
      The dynamic field values captured on this application, assembled into the catalog's recursive shape. Optionally scope to a single decision-component item (e.g. one owner); omit to return the values across all decision-component items and the application level.

      See [UnderwritingDynamicField](/underwriting/reference/graphql/types/underwriting-dynamic-field)
    </ResponseField>

    <ResponseField name="id" type="UUID!" required>
      The unique identifier of the application.
    </ResponseField>

    <ResponseField name="informationRequests" type="[UnderwritingInformationRequest!]!" required>
      Information requests for this application.

      See [UnderwritingInformationRequest](/underwriting/reference/graphql/types/underwriting-information-request)
    </ResponseField>

    <ResponseField name="informationRequestStatus" type="UnderwritingApplicationInformationRequestStatus!" required>
      The status of information requests for this application.

      See [UnderwritingApplicationInformationRequestStatus](/underwriting/reference/graphql/types/underwriting-application-information-request-status)
    </ResponseField>

    <ResponseField name="participants" type="[BoardingApplicationParticipant!]">
      The participants of the application.

      See [BoardingApplicationParticipant](/underwriting/reference/graphql/types/boarding-application-participant)
    </ResponseField>

    <ResponseField name="processingActivity" type="UnderwritingApplicationProcessingActivityOutput">
      The process activity information of the application.

      See [UnderwritingApplicationProcessingActivityOutput](/underwriting/reference/graphql/types/underwriting-application-processing-activity-output)
    </ResponseField>

    <ResponseField name="queue" type="WorkflowAssignment!" required>
      The queue the application is assigned to.

      See [WorkflowAssignment](/underwriting/reference/graphql/types/workflow-assignment)
    </ResponseField>

    <ResponseField name="relationshipProcessingActivity" type="RelationshipProcessingActivityOutput">
      The relationship-wide processing activity totals across all locations in the relationship, including this application. Null when not yet captured.

      See [RelationshipProcessingActivityOutput](/underwriting/reference/graphql/types/relationship-processing-activity-output)
    </ResponseField>

    <ResponseField name="schema" type="UnderwritingDecisionComponentsSchema">
      The underwriting decision components schema for the application.

      See [UnderwritingDecisionComponentsSchema](/underwriting/reference/graphql/types/underwriting-decision-components-schema)
    </ResponseField>

    <ResponseField name="stakeholders" type="[StakeholderOutput!]!" required>
      Stakeholder information. Optionally reveal sensitive fields for a specific stakeholder.

      See [StakeholderOutput](/underwriting/reference/graphql/types/stakeholder-output)
    </ResponseField>

    <ResponseField name="submissionAttemptedDateTime" type="DateTime">
      The date and time when the application submission was attempted.
    </ResponseField>

    <ResponseField name="submissionSuccessfulDateTime" type="DateTime">
      The date and time when the application was successfully submitted.
    </ResponseField>

    <ResponseField name="updatedBy" type="Actor">
      The actor who updated the application.

      See [Actor](/underwriting/reference/graphql/types/actor)
    </ResponseField>

    <ResponseField name="updatedDateTime" type="DateTime!" required>
      The date and time when the application was last updated.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```graphql Operation lines expandable theme={null}
  mutation UpdateUnderwritingApplication($input: UnderwritingApplicationUpdateInput!) {
    updateUnderwritingApplication(input: $input) {
      errors {
        ... on UnderwritingApplicationBankAccountFieldValidationError {
          bankAccountId
          code
          field
          message
        }
        ... on UnderwritingApplicationValidationError {
          code
          message
        }
        ... on UnderwritingApplicationFieldValidationError {
          code
          field
          message
        }
        ... on UnderwritingApplicationStakeholderFieldValidationError {
          code
          field
          message
          stakeholderId
        }
        ... on ForbiddenError {
          advice
          code
          message
        }
        ... on InvalidActorError {
          advice
          code
          message
        }
        ... on InvalidOrganizationError {
          advice
          code
          message
        }
        ... on NotFoundError {
          advice
          code
          message
          resourceId
          resourceName
        }
        ... on ServerError {
          advice
          code
          message
        }
      }
      underwritingApplication {
        applicationEvents {

        }
        applicationIdentity {
          applicantType
          businessEntityType
          businessName
          isKnownEntity
          isLegalAddressSameAsBusinessAddress
          legalEntityName
          merchantCategoryCode
          serviceTelephoneNumber
          softwareProviderNames
          stateOfIncorporation
          underwritingReference
          underwritingRelationshipReference
          websiteUrl
        }
        applicationStatus
        assignee {
          assignedDateTime
          name
          userId
        }
        attachments {
          fileName
          id
          size
          uploadedDateTime
        }
        bankAccounts {
          accountNumberLast4
          id
          routingNumber
        }
        comments {
          content
          createdDateTime
          id
          updatedDateTime
        }
        createdBy {
          name
          type
        }
        createdDateTime
        decisionComponents {
          hasAttachments
          hasComments
          id
          status
          updatedDateTime
        }
        declineReasons {
          code
          message
        }
        dynamicField {
          children
          decisionComponentItemId
          fieldValue
          id
          parentDynamicFieldId
          selectedVariantKey
        }
        dynamicFields {
          children
          decisionComponentItemId
          fieldValue
          id
          parentDynamicFieldId
          selectedVariantKey
        }
        id
        informationRequests {
          applicationId
          createdDateTime
          description
          fulfilledDateTime
          fulfillmentAttachmentIds
          fulfillmentResponse
          fulfillmentTypes
          id
          status
          title
          type
          updatedDateTime
        }
        informationRequestStatus
        participants {
          role
        }
        processingActivity {
          advancedPaymentRate
          averageAnnualSalesAmount
          averageMonthlySalesAmount
          averageTicketAmount
          cardNotPresentMix
          cardPresentMix
          chargebackRate
          currency
          daysInCycle
          deliveryTimeframe
          exposure
          highestTicketAmount
          refundRate
        }
        queue
        relationshipProcessingActivity {
          advancedPaymentRate
          averageAnnualSalesAmount
          averageMonthlySalesAmount
          averageTicketAmount
          cardNotPresentMix
          cardPresentMix
          chargebackRate
          currency
          daysInCycle
          deliveryTimeframe
          exposure
          highestTicketAmount
          refundRate
        }
        schema {
          createdDateTime
          id
          version
        }
        stakeholders {
          emailAddress
          id
          ipAddress
          ownershipPercentage
          roles
        }
        submissionAttemptedDateTime
        submissionSuccessfulDateTime
        updatedBy {
          name
          type
        }
        updatedDateTime
      }

  }
  }

  ```

  ```json Variables lines expandable theme={null}
  {
    "input": {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    }
  }
  ```

  ```bash cURL lines expandable theme={null}
  curl --request POST \
    --url https://api.sandbox.com/graphql \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \
    --data '{
    "query": "mutation UpdateUnderwritingApplication($input: UnderwritingApplicationUpdateInput!) {\n  updateUnderwritingApplication(input: $input) {\n    errors {\n      ... on UnderwritingApplicationBankAccountFieldValidationError {\n        bankAccountId\n        code\n        field\n        message\n      }\n      ... on UnderwritingApplicationValidationError {\n        code\n        message\n      }\n      ... on UnderwritingApplicationFieldValidationError {\n        code\n        field\n        message\n      }\n      ... on UnderwritingApplicationStakeholderFieldValidationError {\n        code\n        field\n        message\n        stakeholderId\n      }\n      ... on ForbiddenError {\n        advice\n        code\n        message\n      }\n      ... on InvalidActorError {\n        advice\n        code\n        message\n      }\n      ... on InvalidOrganizationError {\n        advice\n        code\n        message\n      }\n      ... on NotFoundError {\n        advice\n        code\n        message\n        resourceId\n        resourceName\n      }\n      ... on ServerError {\n        advice\n        code\n        message\n      }\n    }\n    underwritingApplication {\n      applicationEvents {\n\n      }\n      applicationIdentity {\n        applicantType\n        businessEntityType\n        businessName\n        isKnownEntity\n        isLegalAddressSameAsBusinessAddress\n        legalEntityName\n        merchantCategoryCode\n        serviceTelephoneNumber\n        softwareProviderNames\n        stateOfIncorporation\n        underwritingReference\n        underwritingRelationshipReference\n        websiteUrl\n      }\n      applicationStatus\n      assignee {\n        assignedDateTime\n        name\n        userId\n      }\n      attachments {\n        fileName\n        id\n        size\n        uploadedDateTime\n      }\n      bankAccounts {\n        accountNumberLast4\n        id\n        routingNumber\n      }\n      comments {\n        content\n        createdDateTime\n        id\n        updatedDateTime\n      }\n      createdBy {\n        name\n        type\n      }\n      createdDateTime\n      decisionComponents {\n        hasAttachments\n        hasComments\n        id\n        status\n        updatedDateTime\n      }\n      declineReasons {\n        code\n        message\n      }\n      dynamicField {\n        children\n        decisionComponentItemId\n        fieldValue\n        id\n        parentDynamicFieldId\n        selectedVariantKey\n      }\n      dynamicFields {\n        children\n        decisionComponentItemId\n        fieldValue\n        id\n        parentDynamicFieldId\n        selectedVariantKey\n      }\n      id\n      informationRequests {\n        applicationId\n        createdDateTime\n        description\n        fulfilledDateTime\n        fulfillmentAttachmentIds\n        fulfillmentResponse\n        fulfillmentTypes\n        id\n        status\n        title\n        type\n        updatedDateTime\n      }\n      informationRequestStatus\n      participants {\n        role\n      }\n      processingActivity {\n        advancedPaymentRate\n        averageAnnualSalesAmount\n        averageMonthlySalesAmount\n        averageTicketAmount\n        cardNotPresentMix\n        cardPresentMix\n        chargebackRate\n        currency\n        daysInCycle\n        deliveryTimeframe\n        exposure\n        highestTicketAmount\n        refundRate\n      }\n      queue\n      relationshipProcessingActivity {\n        advancedPaymentRate\n        averageAnnualSalesAmount\n        averageMonthlySalesAmount\n        averageTicketAmount\n        cardNotPresentMix\n        cardPresentMix\n        chargebackRate\n        currency\n        daysInCycle\n        deliveryTimeframe\n        exposure\n        highestTicketAmount\n        refundRate\n      }\n      schema {\n        createdDateTime\n        id\n        version\n      }\n      stakeholders {\n        emailAddress\n        id\n        ipAddress\n        ownershipPercentage\n        roles\n      }\n      submissionAttemptedDateTime\n      submissionSuccessfulDateTime\n      updatedBy {\n        name\n        type\n      }\n      updatedDateTime\n    }\n  }\n}",
    "variables": {
      "input": {
        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
      }
    }
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json Response lines expandable theme={null}
  {
    "data": {
      "updateUnderwritingApplication": {
        "errors": [
          {
            "__typename": "UnderwritingApplicationBankAccountFieldValidationError",
            "bankAccountId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
            "code": "FIELD_TOO_LONG",
            "field": "example",
            "message": "example"
          }
        ],
        "underwritingApplication": {
          "applicationEvents": {
            "items": [
              "example"
            ],
            "pageInfo": "example"
          },
          "applicationIdentity": {
            "applicantType": "BILLER",
            "businessAddress": "example",
            "businessEntityType": "ASSOCIATION",
            "businessName": "Clacksworth Keyboards",
            "isKnownEntity": true,
            "isLegalAddressSameAsBusinessAddress": true,
            "legalAddress": "example",
            "legalEntityName": "Clacksworth Keyboards LLC",
            "merchantCategoryCode": "example",
            "sensitiveFields": "example",
            "serviceTelephoneNumber": "+15551234567",
            "softwareProviderNames": [
              "example"
            ],
            "stateOfIncorporation": "example",
            "taxIdentificationNumber": "example",
            "underwritingReference": "example",
            "underwritingRelationshipReference": "example",
            "websiteUrl": "https://clacksworth.com"
          },
          "applicationStatus": "APPROVED",
          "assignee": {
            "assignedBy": "example",
            "assignedDateTime": "2026-01-15T14:30:00Z",
            "name": "Ben Torres",
            "userId": "c9a1e2d3-4b5f-6789-0abc-def123456789"
          },
          "attachments": [
            {
              "fileName": "business-license.pdf",
              "id": "d8b2f3e4-5c6a-7890-1bcd-ef2345678901",
              "size": 0,
              "uploadedBy": "example",
              "uploadedDateTime": "2026-01-15T14:30:00Z"
            }
          ],
          "bankAccounts": [
            {
              "accountNumberLast4": "example",
              "id": "e7c3a4b5-6d7e-8901-2cde-f34567890123",
              "routingNumber": "example",
              "sensitiveFields": "example"
            }
          ],
          "comments": [
            {
              "content": "Approved for mechanical keyboard accessories line.",
              "createdBy": "example",
              "createdDateTime": "2026-01-15T14:30:00Z",
              "decisionComponent": "example",
              "id": "b6d4e5f6-7a8b-9012-3def-456789012345",
              "lastUpdatedBy": "example",
              "updatedDateTime": "2026-01-15T14:30:00Z"
            }
          ],
          "createdBy": {
            "name": "Ben Torres",
            "type": "APP"
          },
          "createdDateTime": "2026-01-15T14:30:00Z",
          "decisionComponents": [
            {
              "attachments": [
                "example"
              ],
              "comments": [
                "example"
              ],
              "hasAttachments": true,
              "hasComments": true,
              "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
              "items": [
                "example"
              ],
              "lastUpdatedBy": "example",
              "schema": "example",
              "status": "ACCEPTED",
              "updatedDateTime": "2026-01-15T14:30:00Z"
            }
          ],
          "declineReasons": [
            {
              "code": "DEROGATORY_BANKING_RELATIONSHIP",
              "message": "example"
            }
          ],
          "dynamicField": {
            "children": [
              "example"
            ],
            "decisionComponentItemId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
            "fieldValue": "example",
            "id": "c9a1e2d3-4b5f-6789-0abc-def123456789",
            "parentDynamicFieldId": "d8b2f3e4-5c6a-7890-1bcd-ef2345678901",
            "schema": "example",
            "selectedOptions": [
              "example"
            ],
            "selectedVariant": "example",
            "selectedVariantKey": "example",
            "sensitiveField": "example"
          },
          "dynamicFields": [
            {
              "children": [
                "example"
              ],
              "decisionComponentItemId": "e7c3a4b5-6d7e-8901-2cde-f34567890123",
              "fieldValue": "example",
              "id": "b6d4e5f6-7a8b-9012-3def-456789012345",
              "parentDynamicFieldId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
              "schema": "example",
              "selectedOptions": [
                "example"
              ],
              "selectedVariant": "example",
              "selectedVariantKey": "example",
              "sensitiveField": "example"
            }
          ],
          "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
          "informationRequests": [
            {
              "applicationId": "c9a1e2d3-4b5f-6789-0abc-def123456789",
              "createdBy": "example",
              "createdDateTime": "2026-01-15T14:30:00Z",
              "description": "example",
              "fulfilledBy": "example",
              "fulfilledDateTime": "2026-01-15T14:30:00Z",
              "fulfillmentAttachmentIds": [
                "d8b2f3e4-5c6a-7890-1bcd-ef2345678901"
              ],
              "fulfillmentResponse": "example",
              "fulfillmentTypes": [
                "DOCUMENT"
              ],
              "id": "e7c3a4b5-6d7e-8901-2cde-f34567890123",
              "status": "FULFILLED",
              "title": "example",
              "type": "ARTICLES_OF_INCORPORATION",
              "updatedDateTime": "2026-01-15T14:30:00Z"
            }
          ],
          "informationRequestStatus": "AWAITING_INFORMATION",
          "participants": [
            {
              "organization": "example",
              "role": "BANK"
            }
          ],
          "processingActivity": {
            "advancedPaymentRate": 0.05,
            "averageAnnualSalesAmount": 0,
            "averageMonthlySalesAmount": 45000,
            "averageTicketAmount": 150,
            "cardNotPresentMix": 0.05,
            "cardPresentMix": 0.05,
            "chargebackRate": 0.05,
            "currency": "USD",
            "daysInCycle": 0,
            "deliveryTimeframe": 0,
            "exposure": 100000,
            "highestTicketAmount": 2500,
            "refundRate": 0.05
          },
          "queue": "PARTNER",
          "relationshipProcessingActivity": {
            "advancedPaymentRate": 0.05,
            "averageAnnualSalesAmount": 0,
            "averageMonthlySalesAmount": 45000,
            "averageTicketAmount": 150,
            "cardNotPresentMix": 0.05,
            "cardPresentMix": 0.05,
            "chargebackRate": 0.05,
            "currency": "USD",
            "daysInCycle": 0,
            "deliveryTimeframe": 0,
            "exposure": 100000,
            "highestTicketAmount": 2500,
            "refundRate": 0.05
          },
          "schema": {
            "createdDateTime": "2026-01-15T14:30:00Z",
            "id": "b6d4e5f6-7a8b-9012-3def-456789012345",
            "underwritingDecisionComponentSchemas": [
              "example"
            ],
            "version": "example"
          },
          "stakeholders": [
            {
              "emailAddress": "ben@clacksworth.com",
              "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
              "ipAddress": "example",
              "ownershipPercentage": 0.05,
              "roles": [
                "AUTHORIZED"
              ],
              "sensitiveFields": "example"
            }
          ],
          "submissionAttemptedDateTime": "2026-01-15T14:30:00Z",
          "submissionSuccessfulDateTime": "2026-01-15T14:30:00Z",
          "updatedBy": {
            "name": "Ben Torres",
            "type": "APP"
          },
          "updatedDateTime": "2026-01-15T14:30:00Z"
        }
      }
    }
  }
  ```
</ResponseExample>
