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

# UnderwritingDecisionComponentSchema

> The schema definition for a single underwriting decision component, specifying its label, required roles, and item schemas.

`OBJECT`

The schema definition for a single underwriting decision component, specifying its label, required roles, and item schemas.

## Fields

<ResponseField name="underwritingDecisionComponentItemSchemas" type="[UnderwritingDecisionComponentItemSchema!]!" required>
  The item schemas that define the verification checks within this component schema.

  <Expandable title="child attributes">
    <ResponseField name="dynamicFieldSchemas" type="[UnderwritingDynamicFieldSchema!]!" required>
      The dynamic field schemas (field definitions) scoped to this item schema, as a forest of root nodes with their children.

      <Expandable title="child attributes">
        <ResponseField name="children" type="[UnderwritingDynamicFieldSchema!]!" required>
          The child nodes of this node: a GROUP's children all apply, while a CHOICE's children are its mutually-exclusive variants. This single recursive resolver serves every level of the catalog tree.
        </ResponseField>

        <ResponseField name="fieldType" type="UnderwritingDynamicFieldType">
          The UI control type of a SCALAR node, determining how it is rendered and how its value is interpreted.

          <Expandable title="Possible enum values">
            <ResponseField name="CHECKBOX" type="enum">
              A boolean checkbox for true/false or yes/no values.
            </ResponseField>

            <ResponseField name="CURRENCY" type="enum">
              A field whose value is a currency.
            </ResponseField>

            <ResponseField name="DATE_PICKER" type="enum">
              A date picker control for selecting a calendar date.
            </ResponseField>

            <ResponseField name="SELECT" type="enum">
              A dropdown control allowing selection of a single value from a predefined list.
            </ResponseField>

            <ResponseField name="TEXTAREA" type="enum">
              A multi-line text area for entering longer text values.
            </ResponseField>

            <ResponseField name="TEXT_FIELD" type="enum">
              A single-line text input field.
            </ResponseField>

            <ResponseField name="TEXT_FIELD_MASKED" type="enum">
              A single-line text input field where the value is masked for sensitive data such as SSN or account numbers.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="helperText" type="String">
          Optional helper text guiding the user when filling this field.
        </ResponseField>

        <ResponseField name="id" type="UUID!" required>
          The unique identifier of the dynamic field schema node.
        </ResponseField>

        <ResponseField name="isRequired" type="Boolean!" required>
          Whether a value for this node is required.
        </ResponseField>

        <ResponseField name="key" type="String!" required>
          The stable, immutable machine key for this node, e.g. "business\_id".
        </ResponseField>

        <ResponseField name="kind" type="UnderwritingDynamicFieldKind!" required>
          The structural kind of this node, determining how its value and child nodes are interpreted.

          <Expandable title="Possible enum values">
            <ResponseField name="CHOICE" type="enum">
              A container whose child nodes are mutually exclusive; exactly one variant is selected and only that variant's children apply.
            </ResponseField>

            <ResponseField name="GROUP" type="enum">
              A container whose child nodes all apply together.
            </ResponseField>

            <ResponseField name="SCALAR" type="enum">
              A leaf node holding a single typed value as described by its data type.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="label" type="String!" required>
          The display label for this node.
        </ResponseField>

        <ResponseField name="parentDynamicFieldSchemaId" type="UUID">
          The id of this node's parent schema node, or null for a root node. Lets clients reconstruct the catalog tree from a flat list of nodes.
        </ResponseField>

        <ResponseField name="selectFieldOptions" type="[SelectFieldOption!]!" required>
          The selectable options for a SELECT field.

          <Expandable title="child attributes">
            <ResponseField name="label" type="String!" required>
              The human-readable label displayed for this option.
            </ResponseField>

            <ResponseField name="value" type="String!" required>
              The underlying value submitted when this option is selected.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

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

    <ResponseField name="label" type="String!" required>
      The display label for this decision component item schema.
    </ResponseField>

    <ResponseField name="underwritingDecisionComponentFieldSchemas" type="[UnderwritingDecisionComponentFieldSchema!]!" required>
      The field schemas that define the data fields collected within this item schema.

      <Expandable title="child attributes">
        <ResponseField name="associatedApplicationField" type="String!" required>
          A JSON-type path of the location within the application of the field.
        </ResponseField>

        <ResponseField name="fieldType" type="DecisionComponentFieldType!" required>
          The type of the field, determining the UI input control used to collect data.

          <Expandable title="Possible enum values">
            <ResponseField name="CHECKBOX" type="enum">
              A boolean checkbox field for yes/no values.
            </ResponseField>

            <ResponseField name="CURRENCY" type="enum">
              A field whose value is a currency.
            </ResponseField>

            <ResponseField name="DATE_PICKER" type="enum">
              A date picker field for selecting a date value.
            </ResponseField>

            <ResponseField name="SELECT" type="enum">
              A single-value dropdown selection field.
            </ResponseField>

            <ResponseField name="SELECT_MULTIPLE" type="enum">
              A multi-value dropdown selection field.
            </ResponseField>

            <ResponseField name="TEXTAREA" type="enum">
              A multi-line text area field for longer text input.
            </ResponseField>

            <ResponseField name="TEXT_FIELD" type="enum">
              A single-line text field for short text input.
            </ResponseField>

            <ResponseField name="TEXT_FIELD_MASKED" type="enum">
              A masked text field for sensitive data such as tax identification numbers.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="helperText" type="String!" required>
          A description of the decision component field.
        </ResponseField>

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

        <ResponseField name="isDisabled" type="Boolean!" required>
          Boolean with value true if the given field is no longer used by the decision component.
        </ResponseField>

        <ResponseField name="isReadOnly" type="Boolean!" required>
          Boolean with value true if the given field is not modifiable.
        </ResponseField>

        <ResponseField name="isRequired" type="Boolean!" required>
          Boolean with value true if the given field is required.
        </ResponseField>

        <ResponseField name="label" type="String!" required>
          The field name formatted for display.
        </ResponseField>

        <ResponseField name="selectFieldOptions" type="[SelectFieldOption!]!" required>
          The possible options for a select type field

          <Expandable title="child attributes">
            <ResponseField name="label" type="String!" required>
              The human-readable label displayed for this option.
            </ResponseField>

            <ResponseField name="value" type="String!" required>
              The underlying value submitted when this option is selected.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

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

<ResponseField name="label" type="String!" required>
  The display label for this decision component schema.
</ResponseField>

<ResponseField name="requiredRoles" type="[ApplicationParticipantRole!]">
  The participant roles required to access or interact with this decision component.

  <Expandable title="Possible enum values">
    <ResponseField name="BANK" type="enum">
      A sponsor bank that provides the underlying banking infrastructure and regulatory umbrella for payment processing.
    </ResponseField>

    <ResponseField name="ISO" type="enum">
      An Independent Sales Organization (ISO) that acts as an intermediary between the sponsor bank and the acceptor.
    </ResponseField>

    <ResponseField name="TRANSACTOR" type="enum">
      A transactor such as a payment facilitator or marketplace that directly processes transactions on behalf of acceptors.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="requiredScopes" type="[String!]">
  The authorization scopes required to access or interact with this decision component.
</ResponseField>
