Skip to main content
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.
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.

Decision component structure

Each decision component is defined by the 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 to retrieve all decision components and their results for an application.
ScenarioAfter 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.
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
              }
            }
          }
        }
      }
    }
  }
}
Run in Playground