HomeGuidesAPI Reference
Guides

Assess

Help borrowers compare eligible Repayment Plans with Nexus.assess

After you've linked servicer accounts to build a loan portfolio, it's time to offer your Borrower an Assessment. While you can use our API and build your own Assessment experience, Nexus.assess makes calculating and presenting a comparison of Repayment Plan options as easy as a function call.

📘

Nexus pre-fills information we know about your borrowers

To make things easy for your borrowers, we will pre-fill information required to perform an Assessment. This means if you're using the API, or if a borrower has used Nexus before, we'll fill in information that's been saved before—like filing status, family size, and adjusted gross income. We'll still present these steps to the user so they can confirm or correct the information as they proceed through the workflow.

Calling Nexus.assess

Nexus.assess expects to receive a single options object as a parameter. This options object allows you to specify an optional onEvent callback to take actions based on your borrower's activity within Nexus:

// Assuming you have a button your Borrower can click to Assess
let assessButton = document.querySelector('#nexus-assess-button')

// Attach click handler to invoke Nexus.assess
assessButton.addEventListener('click', e => {
  Nexus.assess({
    // the function to call when the the borrower is finished or closes Nexus early
    onEvent: handleLinkEvent,
  })
})
758

Nexus.assess presenting a list of eligible IDR plans.

onEvent Callback

When Nexus transmits an event, your onEvent callback will be called with one an argument, a JavaScript object with a top-level property nexusEvent containing an object with the details of the event. See our guide for using onEvent callbacks.

{
  nexusEvent: {
    name: "workflow_finished",
    workflow: "assess",
    consumer: {
      uuid: "dceea28c-2245-41a8-a558-fef1643f99b2"
    },
    happened_at: "2024-07-02T14:39:12.205906Z", 
    metadata: {
    	current_plan: {
        cost_difference: null,
        current: true,
        lower_monthly_payment: false,
        lower_repayment_term: false,
        lower_total_cost: false,
        lowest_monthly_payment: false,
        lowest_repayment_term: true,
        lowest_total_cost: true,
        monthly_difference: null,
        monthly_payment: "2621.73",
        name: "CURRENT",
        repayment_difference: null,
        repayment_term: 6,
        total_cost: "3051.15"
      },
      requested_plan: {
        cost_difference: "5579.69",
        current: false,
        lower_monthly_payment: true,
        lower_repayment_term: false,
        lower_total_cost: false,
        lowest_monthly_payment: true,
        lowest_repayment_term: false,
        lowest_total_cost: false,
        monthly_difference: "2621.73",
        monthly_payment: "0.00",
        name: "REPAYE",
        repayment_difference: 198,
        repayment_term: 204,
        total_cost: "8630.86"
      },
    }
  }
}

📘

If you're relying on Nexus to create borrowers for you, you will want to save the borrower.uuid that is returned so you can make API calls on behalf of your borrowers.


What’s Next