API – Getting Loan Information

Introduction

This article will explore the different endpoints you can use to retrieve loan information. Understanding the process will require some knowledge of the API, which you can learn with our articles on API basics, best practices, and setup.

Our latest release includes a breaking change to the collateral object that is part of the /odata.svc/Loans endpoint response. The object now contains an array of objects, not just the collection of simple values it did before. For more information see API – Add Collateral to a Loan.

The Process

Since these GET requests are asking for information about a specific loan, the endpoint for each loan is unique. Here's the endpoint we could use to get basic information about a loan:

https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans({ID})

Note the {ID} placeholder. When you send a request, just replace this with the ID of a specific loan. If the loan had an ID of 2920, the endpoint would include it there:

GET https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans(2920)

If you omit the ID, you'll get an error message like this:

{
    "error": {
    "message": "Access to retrieve all entities has been deprecated.",
     "type": "ODataException",
     "code": 410
    }
}

How to Find a Loan's ID
If you don't know a loan ID, you can find it in in the URL of the LoanPro UI. Our article on finding IDs explains the details.

Since we're sending a GET request, we don't need to attach any body. You do, however, need to include your Tenant ID and API Token as a header.

Nested Entities

That basic request won't tell you everything about a loan. Instead, it tells you all the different entities that are nested within the loan, such as the customer, the collateral, or even custom fields that you've set up. To request information about a specific nested entity, we use the $expand token in the endpoint. Say, for example, that you wanted to retrieve the information about payments on a specific loan:

GET https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans({ID})?$expand=Payments

We can also request multiple nested entities at a time. Just put a comma between each entity in the request:

GET https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans({ID})?$expand=Payments,LoanSettings,LoanSetup

If you only want to see the information for a nested entity, just use a slash / and the entity name.

GET https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans({ID})/Payments
On rare occasions, an issue occurs where the full response from the request gets cut off. These problems are irregular; using the same endpoint, you might get a truncated response on one loan and a full response on another. If the response is cut off, you can remedy this by adding "()?nopaging=true" at the back of the endpoint. So, https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans({ID})/Payments would become https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans({ID})/Payments()?nopaging=true, which would return the full response.

Deeper Nested Entities

Some entities are like Russian nesting dolls, housed within several layers of nested entities. Within a loan, there is information for a customer; within the customer there is information for an address. To retrieve this information, we use the $expand token to pull up our first entity, and then a slash / to dig to the next level. We can also use commas at this level to pull up multiple nested entities.

GET https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans({ID})?$expand=Customers/PrimaryAddress,Employer

Nested Entities List

There are dozens of nested entities associated with loans. To request them, just use the $expand token in your endpoint. For instance, if we wanted to pull up all the actions and results that agents had logged on the loan, we would send a GET request to https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans({ID})?$expand=ActionResultNotes .

Here's the full list, where some entities are linked to articles explaining the values that your request will return:

  • Insurance - Information on any insurance policy on loan collateral
  • CustomFieldValues - Values for custom fields
  • ChecklistItemValues - Values for checklist items (checked, not checked, date)
  • Documents - Documents uploaded to the loan
  • Collateral - Collateral securing the loan
  • LoanSettings - Settings and grouping selections for the loan
  • LoanSetup - Primary loan numbers
  • Notes - Loan notes
  • Promises - Customer promises for the loan
  • Bankruptcies - Bankruptcy information for the loan
  • Charges - Loan charges
  • Payments - Loan payments
  • LoanFunding - Funding transactions for the loan
  • Advancements - Advancements (usually money given) on the loan (does not include the initial loan amount)
  • Credits - Loan credits, which decrease the loan balance (though not necessarily the principal balance)
  • DueDateChanges - Changed loan payment due dates
  • CurtailmentDates - Curtailment dates (payment dates for flooring loans)
  • StatusArchive - Daily status record of the loan (includes things like principal balance, payoff, accrued interest, flags, etc.)
  • Transactions - The up-to-date amortization schedule for the loan, including logged transactions and forecast transactions
  • EscrowCalculatedTx - Calculated escrow transactions on the loan
  • ScheduleRolls - Schedule roll adjustments that apply to the loan
  • StopInterestDates - Dates when interest accrual is stopped or restarted
  • APDAdjustments - Adjustments of the amount past due that apply to the loan
  • DPDAdjustments - Adjustments of the days past due that apply to the loan
  • LoanModifications - Loan modifications, changes to specific core loan information, that apply to the loan
  • EscrowAdjustments - Addition of or changes to escrow amounts that are added to payments on the loan
  • EscrowTransactions - Deposits or withdrawals from collected escrow amounts on the loan
  • EscrowSubsetOptions - Options applying to escrow accounts or buckets on the loan
  • EscrowCalculators - Escrow calculators, calculations of the escrow that will apply in each payment period based on the total escrow, that apply to the loan
  • EstimatedDisbursements - Disbursements of escrow to the organizations to which escrow funds are due
  • Loans - Loans linked to the queried loan
  • LinkedLoanValues - Settings for loans linked to the queried loan
  • LoanChilds - Loan that are children of the queried loan
  • RecurrentCharges - Recurring charges, or charges that recur base on a loan trigger
  • PayNearMeOrders - Accounts or orders set up to pay this loan through PayNearMe
  • Customers - Customers linked to the loan
  • Portfolios - Portfolios the loan is assigned to
  • SubPortfolios - Sub-Portofolios the loan is assigned to
  • EscrowSubsets - Escrow buckets that are active for the loan
  • RuleAppliedLoanSettings - Information on loan settings rules applied that the loan is enrolled for
  • RuleAppliedChargeOff - Information on charge off rules applied that the loan is enrolled for
  • RuleAppliedAPDReset - Information on amount past due reset rules applied that the loan is enrolled for
  • RuleAppliedChecklists - Information on checklist rules applied that the loan is enrolled for
  • RuleAppliedChangeDueDates - Information on change due date rules applied that the loan is enrolled for
  • RuleAppliedStopInterest - Information on stop interest accrual rules applied that the loan is enrolled for
  • RuleAppliedAccountTools - Information on account tools rules applied that the loan is enrolled for
  • RuleAppliedCustomerTools - Information on customer tools rules applied that the loan is enrolled for
  • RuleAppliedAutopay - Information on AutoPay rules applied that the loan is enrolled for
  • RuleAppliedLoanSetup - Information on loan setup rules applied that the loan is enrolled for
  • RuleAppliedBankruptcy - Information on bankruptcy rules applied that the loan is enrolled for
  • Autopays - Information about automatic payments set up on the loan
  • ActionResultNotes Action and result notes logged on the loan


How did we do?


Powered by HelpDocs (opens in a new tab)