TurnKey Lender — Public API Reference¶
TurnKey Lender Public API v7.12 — 100 operations across 9 modules. Base path https://{site_domain}/PublicApi/v7-12/{endpoint}. Interactive: the API page. Auth: tkLender_ApiKey (+ tkLender_UserAuthToken). See Authentication.
Customer (33)¶
GET /Customer/AccountSummary — Get Customer Account Summary¶
Returns a summary for the current customer's account.
| Param | In | Required |
|---|---|---|
| `` | False |
POST /Customer/ConfirmAccount — Disclaimer confirmation¶
If this customer's account was not created on Back-Office or via API, then this method lets the customer confirm the disclaimer before getting in their dashboard.
GET /Customer/CreditProducts — Get the list of credit products¶
Provides information about credit products in the system. To issue a new loan, you will require the Name property of the credit product. Other properties can be used to help the end user specify correct loan terms.
| Param | In | Required |
|---|---|---|
state |
query | False |
GET /Customer/Details — Get Customer Details¶
Returns complete information about the authenticated customer.
| Param | In | Required |
|---|---|---|
| `` | False |
PUT /Customer/Details — Update Customer Details¶
Changes personal details for the authenticated customer.
| Param | In | Required |
|---|---|---|
| `` | False |
GET /Customer/Disclaimer — Get disclaimer information¶
Returns disclaimer settings
| Param | In | Required |
|---|---|---|
| `` | False |
GET /Customer/Loans — Get Active Loans¶
Returns information about all active loans issued by the authenticated customer. This list doesn't include closed (rejected, paid off, written off, etc.) loans
| Param | In | Required |
|---|---|---|
| `` | False |
POST /Customer/Loans/Calculate — Calculate loan schedule¶
Calculates loan schedule for provided terms
POST /Customer/Loans/Create — Create a new loan for the customer¶
Creates a new loan application for a given customer. Loan terms are provided as parameters. A new loan is created with the 'Pre-Origination' status (if Customer Details are not completed) or with 'Origination' status (otherwise).
| Param | In | Required |
|---|---|---|
| `` | False |
GET /Customer/Loans/{loanId} — Get Loan Details¶
Returns information about a single loan issued by the authenticated customer.
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
POST /Customer/Loans/{loanId}/AcceptLoanOffer — Accept loan offer¶
Customer accepts the loan offer. The method works only if Loan status = 'OfferConfirmation'
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False | |
offerId |
query | False |
POST /Customer/Loans/{loanId}/Cancel — Cancel the loan¶
Cancel the loan by the customer's request. Cancellation reason must be provided.
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False | |
reasonId |
query | True |
comments |
query | False |
GET /Customer/Loans/{loanId}/CoApplicant — Get Co-Applicant Details¶
Returns complete information about the loan Co-Applicant.
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
PUT /Customer/Loans/{loanId}/CoApplicant — Update Co-Applicant Details¶
Changes Co-Applicant details for the loan.
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
POST /Customer/Loans/{loanId}/Collaterals — Add Collateral¶
Add a new collateral item to then loan
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
PUT /Customer/Loans/{loanId}/Collaterals — Update Collateral¶
Update the details of an existing collateral for the loan
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
DELETE /Customer/Loans/{loanId}/Collaterals/{collateralId} — Delete Collateral¶
Removes a specified collateral from the loan
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False | |
| `` | False |
POST /Customer/Loans/{loanId}/DeclineDocument — Decline a document¶
Decline a system loan document
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False | |
docTypeId |
query | True |
POST /Customer/Loans/{loanId}/DeclineLoanOffer — Decline loan offer¶
Customer declines the loan offer. The method works only if Loan status = 'OfferConfirmation'
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
GET /Customer/Loans/{loanId}/Documents — Returns all system loan documents¶
Returns all system loan documents which are supposed to be signed in general
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
GET /Customer/Loans/{loanId}/Documents/{docTypeId} — Return a system loan document¶
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False | |
docTypeId |
path | True |
PUT /Customer/Loans/{loanId}/LoanDetails — Update loan details¶
Update details of the given loan
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
GET /Customer/Loans/{loanId}/LoanOffer — Get Loan Offer Details¶
Returns information about a single loan offer issued by the authenticated customer. Available only is Loan status = 'Offer confirmation'
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
GET /Customer/Loans/{loanId}/LoanOffers — Get Loan Offer Details¶
Returns information about all loan offers issued by the authenticated customer. Available only if Loan status = 'Offer confirmation' and Loan has been approved while functionality 'Multiple loan offers created by Underwriter' = true
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
POST /Customer/Loans/{loanId}/Process — Send loan for processing¶
This method should be called once all required customer details are gathered. The method works if Loan Status is 'Origination' or 'Reprocessing'. For unsecured loans, the methods sumbits a loan for automatic processing (decision-making).For secured loans, the loan status is changed to 'Collateral'.
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False | |
comments |
query | False |
POST /Customer/Loans/{loanId}/ResendSmsCode — Resend SMS with a code¶
Resend SMS to a customer with a new generated code
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False | |
docTypeId |
query | True |
DELETE /Customer/Loans/{loanId}/Rollover — Cancel rollover request¶
Cancel rollover request for a specified loan.
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
POST /Customer/Loans/{loanId}/Rollover — Request rollover¶
Requests rollover of a specified loan.
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
GET /Customer/Loans/{loanId}/Rollover/Allowed — Check if rollover can be requested¶
Checks is rollover can be requested for a certain loan
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
POST /Customer/Loans/{loanId}/SignDocument — Sign a document¶
Sign a system loan document with a code from SMS
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False | |
code |
query | True |
docTypeId |
query | True |
GET /Customer/PromoCode/Check — Check promo code¶
Checks if a given promo code exists. If true is received as a response, this promo code's value can be used as a credit product name in Calculate and Loans/Create endpoints
| Param | In | Required |
|---|---|---|
promoCode |
query | True |
state |
query | False |
POST /Customer/Register — Create a new customer account¶
Creates a new customer account.
| Param | In | Required |
|---|---|---|
login |
query | True |
password |
query | True |
GET /Customer/States — Get the list of states¶
If state management is enabled in the system, this endpoint can be used to receive total list of states of operation enabled by the administrator. Results of this endpoint can be used to allow the customer select his/her state before choosing a credit product and loan terms
Investor (13)¶
GET /Investor/ActiveInvestments — Get Active Investments¶
Returns the list of active investments. Active investments here means investments for currently disbursed loans.
| Param | In | Required |
|---|---|---|
| `` | False |
GET /Investor/ActiveInvestments/{id} — Get Investment Details¶
Returns information about a specified active investment made by the authenticated Investor
| Param | In | Required |
|---|---|---|
| `` | False | |
id |
path | True |
GET /Investor/Bids — Get the list of bids¶
Returns the list of investment bids submitted by the authenticated Investor
| Param | In | Required |
|---|---|---|
| `` | False |
POST /Investor/Bids/Submit — Submit a bid¶
Submits a new loan investment bid by the name of the authenticated Investor
| Param | In | Required |
|---|---|---|
| `` | False |
DELETE /Investor/Bids/{id} — Withdraw a bid¶
| Param | In | Required |
|---|---|---|
| `` | False | |
id |
path | True |
GET /Investor/Bids/{id} — Get investment bid details¶
Returns the details of a specified investment bid that was submitted by the authenticated Investor
| Param | In | Required |
|---|---|---|
| `` | False | |
id |
path | True |
PUT /Investor/Bids/{id} — Modify a bid¶
Changes the amount of a submitted bid
| Param | In | Required |
|---|---|---|
| `` | False | |
id |
path | True |
GET /Investor/Opportunities — Get the list of investment opportunities¶
Returns the list of investment opportunities (loan applications awaiting investments)
| Param | In | Required |
|---|---|---|
| `` | False |
GET /Investor/PersonalDetails — Get investor's personal details¶
Returns personal details of the authenticated investor
| Param | In | Required |
|---|---|---|
| `` | False |
PUT /Investor/PersonalDetails — Update investor's personal details¶
Updates personal details of the authenticated investor
| Param | In | Required |
|---|---|---|
| `` | False |
GET /Investor/Preferences — Get Preferences¶
Returns preferences of the authenticated investor's account
| Param | In | Required |
|---|---|---|
| `` | False |
PUT /Investor/Preferences — Updates Preferences¶
Updates authenticated investor's account preferences
| Param | In | Required |
|---|---|---|
| `` | False |
POST /Investor/Register — Create a new Investor account¶
Creates a new Investor account
| Param | In | Required |
|---|---|---|
login |
query | True |
password |
query | True |
Management (23)¶
GET /Management/BranchOffices — Get the list of branch offices¶
Returns a list of branch offices registered in the system. The old URL /Migration/BranchOffices works as well.
GET /Management/CreditProducts — Get the list of credit products¶
Returns a list of credit products registered in the system. The old URL /Migration/CreditProducts works as well.
| Param | In | Required |
|---|---|---|
state |
query | False |
POST /Management/Customers/Create — Register Customer¶
Creates a new customer account with provided login and CustomerDetails. The old URL /Migration/Customers/Create works as well.
GET /Management/Customers/Search — Search customers¶
Retrieve the list of customers that align with the search criteria. Customers can be filtered based on any combination of input parameters. A customer is considered a match only if all provided non-empty parameter values align with their personal details.
| Param | In | Required |
|---|---|---|
firstName |
query | False |
lastName |
query | False |
birthDate |
query | False |
email |
query | False |
ssn |
query | False |
driverLicenseId |
query | False |
phone |
query | False |
pageNumber |
query | False |
pageSize |
query | False |
GET /Management/Customers/{customerId} — Get Customer Details¶
Get Customer's details by ID.
| Param | In | Required |
|---|---|---|
customerId |
path | True |
PUT /Management/Customers/{customerId} — Update Customer Details¶
Updates personal details for the customer. The old URL /Migration/Customers/{customerId} works as well.
| Param | In | Required |
|---|---|---|
customerId |
path | True |
GET /Management/Customers/{customerId}/BankAccounts — Get All Bank Accounts¶
Get all bank accounts.
| Param | In | Required |
|---|---|---|
customerId |
path | True |
POST /Management/Customers/{customerId}/BankAccounts — Create New Bank Account¶
Create a new bank account.
| Param | In | Required |
|---|---|---|
customerId |
path | True |
DELETE /Management/Customers/{customerId}/BankAccounts/{profileId} — Delete Bank Account¶
Delete a bank account.
| Param | In | Required |
|---|---|---|
customerId |
path | True |
profileId |
path | True |
GET /Management/Files/Download — Download Document¶
Retrieves a loan document from the server. The old URL /Migration/Files/Download works as well.
| Param | In | Required |
|---|---|---|
fileId |
query | True |
GET /Management/Files/GetInfo/{documentId} — Get document details¶
Retrieves info about an uploaded file. The old URL /Migration/Files/GetInfo works as well.
| Param | In | Required |
|---|---|---|
documentId |
path | True |
POST /Management/Files/Upload — Upload File¶
Uploads a new file to the Turnkey Lender database. The old URL /Migration/Files/Upload works as well.
POST /Management/Loans — Create a new loan for the customer¶
Creates a new loan for a given customer. If there are no disbursements, a loan is created with the 'Pre-Origination' status (if Customer Details are not completed) or with 'Origination' status (otherwise). If there is one disbursement, then a loan is created as 'Active'/'Past Due'/'Repaid'. The old URL /Migration/Loans/Create works as well.
POST /Management/Loans/Disbursements — Register a disbursement transaction¶
Register a disbursement transaction. The method works correctly only if Loan Status = 'Approved' and the disbursement amount is equal to the Loan Amount.
POST /Management/Loans/Repayments — Register repayment transaction¶
Register a repayment transaction. All transactions are applied with Repayment Mode = "Regular payment" by default
DELETE /Management/Loans/Repayments/{id} — Repayment transaction is reversed¶
Reverse a repayment transaction
| Param | In | Required |
|---|---|---|
id |
path | True |
PUT /Management/Loans/Repayments/{id} — Edit a repayment transaction¶
| Param | In | Required |
|---|---|---|
id |
path | True |
GET /Management/Loans/{loanId} — Get Loan Details¶
Returns information about a single loan issued by the authenticated customer.
| Param | In | Required |
|---|---|---|
| `` | False |
POST /Management/Loans/{loanId}/Approve — Approve the loan¶
Approve the loan if its status is Waiting for approval only.
| Param | In | Required |
|---|---|---|
| `` | False | |
comments |
query | False |
POST /Management/Loans/{loanId}/AutochargeDisable — Disable auto-charges¶
Disables automatic repayments (auto-charges) for an individual loan
| Param | In | Required |
|---|---|---|
| `` | False | |
comment |
query | False |
POST /Management/Loans/{loanId}/AutochargeEnable — Enable auto-charges¶
If automatic repayments (auto-charges) are disabled for a loan, call this endpoint to enable them
| Param | In | Required |
|---|---|---|
| `` | False | |
comment |
query | False |
POST /Management/Loans/{loanId}/IssueDisbursement — Initiate disbursement using a payment service¶
Initiate loan disbursement via a payment service. Requires payment processing integration to be properly set-up
| Param | In | Required |
|---|---|---|
loanId |
path | True |
amount |
query | True |
POST /Management/Loans/{loanId}/Process — Send loan for processing¶
This method should be called once all required customer details are gathered. The method works if Loan Status is 'Origination' or 'Reprocessing'. For unsecured loans, the methods sumbits a loan for automatic processing (decision-making).For secured loans, the loan status is changed to 'Collateral'.
| Param | In | Required |
|---|---|---|
| `` | False | |
comments |
query | False |
Payment Options (13)¶
GET /PaymentOptions/BankAccounts — Get Bank Accounts list¶
The System returns information with all the bank accounts customer has added to the System.
| Param | In | Required |
|---|---|---|
| `` | False |
POST /PaymentOptions/BankAccounts — Add a new bank account¶
Adds customer's new Bank account to the System (bank account details are set as parameters).
| Param | In | Required |
|---|---|---|
| `` | False |
POST /PaymentOptions/BankVerification/CancelBankVerification/{loanId} — Skip bank verification check¶
Allows customer to skip bank verification check
| Param | In | Required |
|---|---|---|
| `` | False | |
loanId |
path | True |
reason |
query | True |
GET /PaymentOptions/BankVerification/IsDataProcessed — Check if Customer's Bank accounts are verified successfully¶
Check if Bank account verification is passed successfully
| Param | In | Required |
|---|---|---|
| `` | False |
POST /PaymentOptions/BankVerification/SaveData — Save data from iframe¶
Save all data seceived from Bank verification service (iframe) in TurnKey Lender DB
| Param | In | Required |
|---|---|---|
| `` | False |
GET /PaymentOptions/BankVerification/Settings — Get settings for Bank Verification iframe¶
Returns settings to open iframe for the integrated bank verification provider.
| Param | In | Required |
|---|---|---|
| `` | False |
GET /PaymentOptions/Cards — Get Cards list¶
Returns information about all the cards a customer has added to the System.
| Param | In | Required |
|---|---|---|
| `` | False |
POST /PaymentOptions/Cards — Add a new debit/credit card¶
| Param | In | Required |
|---|---|---|
| `` | False |
PUT /PaymentOptions/Cards/{cardId} — Update card details¶
The System changes authenticated customer's card details (for the selected card).
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False | |
| `` | False |
DELETE /PaymentOptions/DeleteMethod — Delete a payment method¶
Delete payment method
| Param | In | Required |
|---|---|---|
| `` | False | |
paymentMethodId |
query | True |
GET /PaymentOptions/RepaymentAmounts/{loanId} — Get repayment amounts¶
Returns possible repayment amounts for a given loan
| Param | In | Required |
|---|---|---|
| `` | False | |
| `` | False |
POST /PaymentOptions/SetDefaultMethod — Update a payment method¶
Sets submited payment method as default
| Param | In | Required |
|---|---|---|
| `` | False | |
paymentMethodId |
query | True |
POST /PaymentOptions/SubmitRepayment — Submit (charge) a repayment¶
Submits repayment for given loan. The funds will be automatically charged from the customer's card or bank account.
| Param | In | Required |
|---|---|---|
| `` | False | |
loanId |
query | True |
amount |
query | True |
mode |
query | True |
Files (6)¶
GET /Files/Download — Download Document¶
Retrieves a loan document from the server
| Param | In | Required |
|---|---|---|
| `` | False | |
fileId |
query | True |
GET /Files/GetInfo/{documentId} — Get document details¶
Retrieves info about an uploaded file
| Param | In | Required |
|---|---|---|
| `` | False | |
documentId |
path | True |
POST /Files/Upload — Upload File¶
Uploads a new file to the Turnkey Lender database
| Param | In | Required |
|---|---|---|
| `` | False |
GET /UserDocuments — Get user documents¶
Retrieves user documents with document groups
| Param | In | Required |
|---|---|---|
| `` | False | |
loanId |
query | False |
dashboardMode |
query | True |
loanMode |
query | True |
PUT /UserDocuments — Add file¶
Adds file to document group. File should be already uploaded.
| Param | In | Required |
|---|---|---|
| `` | False |
DELETE /UserDocuments/{UserDocumentId} — Delete a file¶
Removes file from document group
| Param | In | Required |
|---|---|---|
| `` | False | |
UserDocumentId |
path | True |
Dictionary (3)¶
GET /Dictionary/CancellationReasons — Returns cancellation reasons¶
Returns list of cancellation reasons dictionary items that are visible on the Front-Office
POST /Dictionary/GetFilteredValues — Gets values from the dictionary based on the passed filter.¶
Returns filtered values for the specified dictionary.
POST /Dictionary/GetValues — Get all items from the requested dictionaries¶
Returns list of dictionary names with their values.
System settings (1)¶
GET /Settings/Application/CoApplicant — Get Co-Applicant options for application flow¶
| Param | In | Required |
|---|---|---|
| `` | False |
Vendors (4)¶
GET /Vendors/GetSettings — Get vendor settings¶
GET /Vendors/GetStores/{vendorId} — Get the list of all stores for a given vendor¶
| Param | In | Required |
|---|---|---|
| `` | False |
GET /Vendors/GetVendors — Get the list of all vendors¶
GET /Vendors/StoresMap — Get the list of all stores to be shown on a map¶
User (4)¶
POST /User/ChangePassword — Change Password¶
Change password for the current user
| Param | In | Required |
|---|---|---|
| `` | False | |
currentPassword |
query | True |
newPassword |
query | True |
POST /User/Login — Login user¶
Checks if a user with the specified login and password exists. If yes, returns the authentication token that must be provided to other methods that require user authentication (tkLender_UserAuthToken header parameter).
| Param | In | Required |
|---|---|---|
login |
query | True |
password |
query | True |
POST /User/RequestPasswordReset — Request user's password change¶
Request one-time change of the user's password. As a result, (1) the password reset link is generated and (2) an email with the password reset link is sent to the user with provided login.
| Param | In | Required |
|---|---|---|
login |
query | True |
confirmationUrl |
query | False |
POST /User/ResetPassword — Reset user's password¶
Assumes that the user followed the password reset link (see /User/RequestPasswordReset), entered the new password and submitted the form. As a result, the user's password is changed.
| Param | In | Required |
|---|---|---|
newPassword |
query | True |
code |
query | True |