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

# Decision components

> Learn how automated and manual verification checks evaluate identity, TIN, bank accounts, and risk during underwriting.

Decision components represent automated and manual verification checks that run during underwriting processing. Each component evaluates specific aspects of the application, such as identity verification, TIN matching, bank account verification, and risk assessment.

Understanding decision components helps you interpret underwriting results, identify why an application may require manual review, and respond appropriately to verification outcomes.

<Warning>
  Decision components are the building blocks of the underwriting process. Each component performs
  specific checks and produces outcomes that inform the final underwriting decision. Results from
  these components determine whether an application can be automatically approved or requires manual
  review.
</Warning>

## Decision component structure

Each decision component is defined by the [`DecisionComponent`](/underwriting/reference/graphql/types/decisioncomponent) type and includes:

* **Component name** – Identifies the type of verification (e.g., Identity Verification, TIN Match)
* **Status** – Overall status of the component (Pending, Processing, Complete)
* **Items** – Individual checks within the component (e.g., individual stakeholder verifications)
* **Outcomes** – Results from automated processing
* **Reviews** – Items flagged for manual underwriting review

### Query decision components

Use the `decisionComponents` field on [`UnderwritingApplication`](/underwriting/reference/graphql/types/underwritingapplication) to retrieve all decision components and their results for an application.

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

  After submitting his application, Ben queries the decision components to
  understand which verification checks have completed and which are still
  processing. He uses this information to track the progress of his keyboard
  business's application.
</Callout>

<RequestExample>
  ```graphql Operation lines expandable theme={null}
  query UnderwritingApplication($input: UnderwritingApplicationInput!) {
    underwritingApplications(input: $input) {
      items {
        id
        applicationStatus
        decisionComponents {
          id
          status
          items {
            id
            label
            status
            stakeholderId
            outcomes {
              results {
                ... on DecisionComponentStatusOutcome {
                  status
                  statusMessage
                  label
                }
                ... on DecisionComponentAssessmentOutcome {
                  assessmentValue
                  label
                }
              }
              reviews {
                label
                fields {
                  name
                  value
                  status
                }
              }
            }
          }
        }
      }
    }
  }
  ```

  ```json Variables lines theme={null}
  {
    "input": {
      "where": {
        "id": {
          "eq": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
        }
      },
      "paging": {
        "skip": 0,
        "take": 10
      }
    }
  }
  ```
</RequestExample>

<hr />
