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

# Underwriting applications

> Submit business, stakeholder, and financial data for underwriting review and decisioning via GraphQL.

## Overview

<Info>Underwriting applications is in Beta and isn't ready for production integration.</Info>

Submit business, stakeholder, and financial data for underwriting review via GraphQL mutations. Each application progresses through a defined lifecycle — from creation to final decision.

The flow is flexible: submit a fully completed application in one shot, or build it progressively over multiple requests. This supports both near-synchronous submissions and asynchronous data collection.

<Callout icon="clapperboard-play" color="#6938EF" type="scenario">
  **Scenario A — Business checking account onboarding at a regional bank**

  A developer at Heartland Commerce Bank is integrating Tesouro's underwriting
  API into their small business checking account opening flow. When a business
  applies, the integration creates an underwriting application with business
  entity details and beneficial owner information, then submits it for review.
  Tesouro runs KYB and KYC decisioning and returns an outcome that Heartland
  Commerce Bank uses to automatically approve or decline the account opening
  request.

  **Scenario B — Small business loan origination at a fintech lender**

  A developer at Bridgepoint Capital is building a loan origination system for
  small business term loans. Their integration uses Tesouro's underwriting API
  to progressively collect business financials, tax documents, and stakeholder
  data as applicants move through a multi-step application form. Once all
  required data is present, the integration submits the application and uses
  webhooks to receive the final credit decision.

  **Scenario C — Revolving lines of credit at a credit union**

  A developer at Clearwater Credit Union is adding a line of credit product to
  their digital banking platform. They use Tesouro's underwriting API as part
  of their existing member onboarding flow — creating applications on behalf of
  members, fulfilling any information requests the underwriting team surfaces,
  and receiving Approved or Declined outcomes to determine credit limit offers.
</Callout>

The underwriting process:

1. **Create an application** with business, stakeholder, and financial details
2. **Update the application** as more information becomes available
3. **Submit the application** once all required data is present
4. **Respond to underwriter actions** — fulfill information requests and support manual review of decision components
5. **Receive a decision**

After submission, applications go through automated and manual review. Underwriters can request additional information, run decision components, and advance the application until it reaches a final outcome.

<hr />

## End-to-end flow

Most integrations follow the same sequence from application creation through final decision.

1. **Create the application**
   Create an underwriting application using the [`createUnderwritingApplication`](/underwriting/reference/graphql/operations/create-underwriting-application) mutation.
   * Stakeholders may be included at creation or omitted initially
   * The application enters the **Created** state

2. **Add or update application details**
   Use [`updateUnderwritingApplication`](/underwriting/reference/graphql/operations/update-underwriting-application) to add or modify application data such as:
   * Business information
   * Bank accounts
   * Financial details
   * Supporting documentation via attachments

3. **Submit the application**
   Submit the application using [`submitUnderwritingApplication`](/underwriting/reference/graphql/operations/submit-underwriting-application) once all required data and stakeholders are present.

4. **Automated processing**
   The application enters the **Processing** state, where:
   * Automated verification checks run
   * The system executes decision components

5. **Manual review (if required)**
   If discrepancies are detected, the application transitions to **Pending** for underwriter evaluation.

6. **Final decision**
   The application reaches **Decisioned** with one of the following outcomes:
   * **Approved**
   * **Declined**
   * **Withdrawn**

<Callout icon="clapperboard-play" color="#6938EF" type="scenario">
  **Scenario A (continued) — Single-step submission**

  The Heartland Commerce Bank integration submits a fully completed application
  in a single sequence — business entity data and beneficial owners are
  included at creation, and the application is submitted immediately after.
  The system runs automated KYB and KYC checks, all pass, and Heartland
  Commerce Bank receives an Approved decision within seconds via webhook.

  **Scenario B (continued) — Progressive submission**

  The Bridgepoint Capital integration creates an application early in the funnel
  with just the business name and EIN, then progressively adds financial
  statements, tax documents, and stakeholder data as the applicant completes
  each step of their form. The application is only submitted once all required
  fields are present, triggering the full underwriting review.
</Callout>

### Flexible submission models

Tesouro supports multiple submission strategies depending on your integration needs:

* **Single-step submission**
  Create and submit a fully completed application in close succession when all data is available upfront.

* **Progressive submission**
  Create an application early and progressively update it as data becomes available, submitting only when all requirements are met.

Both models follow the same lifecycle and result in identical underwriting outcomes.

### Monitoring progress

Use [webhooks](/underwriting/guides/webhooks) to track status changes and underwriting actions — submission confirmations, information requests, status transitions, and final decisions.

<Warning>
  Don't poll the API for application progress. Webhooks deliver real-time notifications and cut unnecessary API calls.
</Warning>

<hr />

## Next steps

* Learn about the [application lifecycle](/underwriting/guides/applications) and status transitions
* Understand how to [create and submit applications](/underwriting/guides/applications/submit)
* Explore [stakeholder management](/underwriting/guides/managing-stakeholders) patterns
* Configure [webhook notifications](/underwriting/guides/webhooks) for real-time updates
