Skip to content

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