> ## 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.

# Common issues

> Diagnose and resolve common underwriting application errors including validation failures and submission issues.

### Application submission fails with validation errors

**Cause**

One or more required fields, stakeholders, or role-specific attributes are missing or invalid.

**Resolution**

* Ensure all required business and financial fields are populated
* Confirm that at least one owner and/or control person stakeholder exists
* Validate field formats (e.g., dates, identifiers) before submission
* Review error messages returned by the API for specific field-level guidance

<Callout icon="clapperboard-play" color="#6938EF" type="scenario">
  **Scenario**

  Ben submits his keyboard business application but receives a validation error
  indicating "Tax identification number is required". He updates the application
  with the `underwritingIdentity.taxIdentificationNumber` field and successfully
  resubmits.
</Callout>

### Unable to submit an application

**Cause**

The application is not in the Created state or has already been submitted.

**Resolution**

* Confirm the current application status using the [`underwritingApplications`](/underwriting/reference/graphql/operations/underwriting-applications) query
* Only applications in Created, Submission Failed, or Submission Invalid states can be submitted
* Applications in Processing, Pending, or Decisioned cannot be re-submitted
* [Check the current application status](/underwriting/guides/applications/check-status) before attempting submission

### Stakeholder updates are rejected

**Cause**

Stakeholders require specialized inputs and must be referenced by their unique stakeholder IDs.

**Resolution**

* Use the stakeholder-specific input structure for create, update, or remove operations
* Confirm the stakeholder ID is correct when updating or removing a stakeholder
* Verify role-specific required fields are present
* Review the `UnderwritingApplicationStakeholderInput` documentation

<Note>
  Each stakeholder receives a unique ID when added to the application. Store these IDs if you need
  to update or remove stakeholders later.
</Note>

### Application remains in Processing longer than expected

**Cause**

Automated checks or decision components are still running, or an external verification is delayed.

**Resolution**

* Monitor [webhook events](/underwriting/guides/webhooks) for status updates
* Avoid polling the API excessively
* If the application transitions to Pending, manual underwriting is required
* Processing time varies based on the complexity of verification checks

<Callout icon="clapperboard-play" color="#6938EF" type="scenario">
  **Scenario**

  Ben's keyboard business application has been in Processing status for 5
  minutes. He checks the decision components and sees that bank account
  verification is waiting for a third-party service response. He waits for the
  webhook notification rather than polling the API.
</Callout>

### Application remains Pending with no visible progress

**Cause**

Underwriting requires manual evaluation or is awaiting fulfillment of an information request.

**Resolution**

* Check for active [information requests](/underwriting/guides/information-requests) with status REQUESTED
* Ensure all requested information has been fulfilled
* Monitor webhooks for updates from underwriting
* Contact Tesouro support if the application has been pending for an extended period without information requests

### Information requests are not changing the application status

**Explanation**

Information requests are independent objects with their own lifecycle and do not represent an application status.

**Expected behavior**

* The application remains Pending while information requests are outstanding
* Once all requests are Fulfilled, underwriting review resumes
* The application status only changes when underwriting makes a decision

<Note>
  Think of information requests as a communication channel between underwriters and applicants. They
  don't affect application status directly but are necessary for underwriting to continue their
  review.
</Note>

### Final decision is not received

**Cause**

The application has not yet reached a Decisioned state.

**Resolution**

* Confirm the application has progressed through Processing and (if applicable) Pending
* Monitor [webhooks](/underwriting/guides/webhooks) for final decision events
* Only Approved, Declined, or Withdrawn represent final outcomes
* Check [decision components](/underwriting/guides/decision-components) to see if any require manual review

## Still need help?

If you encounter issues not covered here:

* Review API error responses for detailed messages
* Ensure your integration is aligned with the documented [lifecycle](/underwriting/guides/applications) and status model
* Check the [GraphQL schema documentation](/underwriting/reference/graphql/operations/underwriting-applications) for field requirements
* Contact Tesouro support with the application ID and relevant request IDs for assistance

<Note>
  When contacting support, include the application ID, timestamp of the issue, request/response
  payloads (sanitized of sensitive data), and a description of expected vs actual behavior.
</Note>
