backbone-partner-api
Backbone Software is an end to end software solution for lending. It manages the complete lifecycle of borrowers, applications and loan accounts. Using the Backbone API, you can manage borrower accounts, application and payments.
The loan creation flow is as follows:
- Create products
- Create an end user (borrower)
- Start the Direct Debit Mandate creation flow
- Create and update an application for an end user
- Set application to “complete” to trigger the risk engine
- Wait for the “Application Processing Finished” webhook
- Create loan account for approved application and specific product
- Disburse funds
- Collect funds
Making a request to the Backbone API requires an API key. The key should be provided by Backbone. The request header must include a X-Api-Key header with the API provided.
This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.
{id}
/{id}
/{id}
/{id}
/{id}
/quote/{id}
/publish/The Backbone platform support the following products:
- Revolving credit
- Line of credit
- Term loan with equal principal repayment
- Term loan with equal instalments repayment
Revolving Credit
Revolving credit allows you provide a credit facility to the end users that renews on monthly basis. With this product, each month, a statement will be generated, describing the transactions that were applied during the statement period, the closing balance of the period and the minimum payment the end user is required to pay. The end user is then expected to repay at least the minimum repayment by the due date. If not paid by the due date the account becomes late. When configuring a Revolving Credit product, you need to
- specify how the minimum repayment is calculated
- specify the day in the month in which the statement is created
- specify the day in the month the repayment is due by
- specify the number of days between the account becoming late and the account becomes in arrears
Line of credit
Line of credit allows you provide a continuous credit facility to the end users. With this product, there are not monthly statements and no minimum repayment at the end of the month. The interest is calculated on daily basis on the current account balance. When configuring a Line of credit product, you need to:
- specify the number of days between the account becoming late and the account becomes in arrears
- The max amount of debt
- The interest rate
Term loan with equal principal repayment
This product allows you to create a term loan where the principal balance is divided by the number of instalments, so that in each instalment an equal size of principal is repaid. For example, a loan in the amount of £12,000 over a period of 6 months, with 12% annual interest rate, will look like this:
Instalment | Principal | Interest | Total amount | Principal after repayment |
---|---|---|---|---|
Instalment 1 | £2,000.00 | £122.30 | £2,122.30 | £10,000.00 |
Instalment 2 | £2,000.00 | £92.05 | £2,092.05 | £8,000.00 |
Instalment 3 | £2,000.00 | £81.53 | £2,081.53 | £6,000.00 |
Instalment 4 | £2,000.00 | £59.18 | £2,059.18 | £4,000.00 |
Instalment 5 | £2,000.00 | £40.77 | £2,040.77 | £2,000.00 |
Instalment 6 | £2,000.00 | £19.73 | £2,019.73 | £0.00 |
------------ | ------------ | ------------ | ------------ | ------------ |
Total | £12,000.00 | £415.56 | £12,415.56 |
Term loan with equal instalments repayment
This product allows you to create a term loan where each intalment is for the same amount. For example, a loan in the amount of £12,000 over a period of 6 months, with 12% annual interest rate, will look like this:
Instalment | Principal | Interest | Total amount | Principal after repayment |
---|---|---|---|---|
Instalment 1 | £1,940.39 | £130.19 | £2,070.58 | £10,059.61 |
Instalment 2 | £1,971.36 | £99.22 | £2,070.58 | £8,088.25 |
Instalment 3 | £1,988.15 | £82.43 | £2,070.58 | £6,100.10 |
Instalment 4 | £2,008.41 | £62.17 | £2,070.58 | £4,091.69 |
Instalment 5 | £2,031.57 | £39.01 | £2,070.58 | £2,060.12 |
Instalment 6 | £2,060.12 | £21.67 | £2,081.80 | £0.00 |
------------ | ------------ | ------------ | ------------ | ------------ |
Total | £12,000.00 | £434.70 | £12,434.70 |
Authentication
Get a list of available products
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Request headers
Responses
200
Body
Number of results
URL for the next batch of the request
URL for the previous batch of the request
Product ID
The type of the product
Revolving credit account with monthly statements
Revolving credit without statements and minimial payments
Status of the product configuration. Loan account cannot be created for draft products.
The upper limit of the credit amount for loan acounts that are created for this product
A default amount to be used in case an amount is not provided when creating a loan account
Max Interest rate for loan acounts that are created for this product, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A default interest to be used in case the rate is not provided when creating a loan account, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A readable name for easy recognition of the product
(Releveant only for term loans) The default numebr of instalments to be used in case the the number of instalments is not provided when creating a loan account
(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid
(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid
Readable name for the fee
Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.
For this type of fee, the figure in the amount field will be used to calculate the fee
This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.
This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.
On which event this fee should be applied for
Select this event if you wish that the fee will be automatically applied upon disbursement event
Select this event if you wish that the fee will be automatically applied upon the account going into arrears
Select this event if you wish that the fee will be automatically applied upon the account going into default
Select this event if this fee will be applied using ad hoc API commands
The number of days between account becoming late and account becoming in arrears
(Relevant only for term loans) There are two types of schedule calculation
With this option we take the principal amount and divide by the number of instalments to get the principal repayment of each instalments. We then calculate the interest accrued between instalments based on the principal balance in the account after the instalments.
With this option all the repayments are of the same amount (except the last one sometimes when you have to round the principal amount).
(Relevant only for term loans)
Choosing this option means that the amount repaid is taken off the principal of the last repayment. If the amount repaid is higher then the principal of the last repayment, then it should be deducted from the instalment before that, and so on, effectively reducing the number of instalments in the loan while all the remaining repayments stay the same in principal and interest amounts.
Choosing this option mean that the overall number of instalments stays the same, but the amount of each instalment is reduced. When calculating the new schedule, we need to take the total principal owed and recalculate the amounts for each of the remaining instalment as if it’s a new loan taken nor for that number of instalments.
Should the repayment date be rescheduled due to it being a holiday
Moves the repayment date to the last business day before the repayment date
Moves the repayment date to the first business day after the repayment date
Do not reschedule the repayment date
- “True” means that the interest will be calculated on holidays
- “Flase” means that on holidays, the interest will not be calculated
Repayment date is on specific day of the month
Last business day of the month
First business day of the month
if repayment_date_type is day_of_month then this field specifies the day
Examples
{
"count": 46,
"next": "https://app.backbone-software.com/api/v1/products/product/?limit=20&offset=20",
"previous": "None",
"results": [
{
"id": "'ec0ebaf1-525b-48e8-9738-e6a592962d87'",
"type": "revolving_credit",
"is_draft": true,
"max_loan_amount": 1000,
"default_loan_amount": 600,
"max_interest_rate": 15,
"default_interest_rate": 10,
"name": "Cash advance",
"installments": 6,
"default_grace_instalments": "2",
"principal_repayment_grace": "2",
"default_fees": {
"name": "\"Disbursement Fee\"",
"type": "flat",
"Amount": 1,
"Event": "arrears"
},
"arrears_tolerance": "7",
"interest_calculation": "equal_principal_payments",
"early_repayment_recalculation": "from_last_instalment",
"repayment_holiday_scheduling": "last_business_day_before_the_day",
"calculate_interest_on_holidays": true,
"repayment_date_type": "day_of_month",
"repayment_date_period": 10
}
]
}
Authentication
Create a product
Request headers
Request body
The type of the product
Revolving credit account with monthly statements
Line of credit account, with no mimial monthly payment
A term loan where an equal amount of the principal is repaid in each intalment
A term loan where all the instalments have the same amount
The upper limit of the credit amount for loan acounts that are created for this product
A default amount to be used in case an amount is not provided when creating a loan account
Max Interest rate for loan acounts that are created for this product, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A default interest to be used in case the rate is not provided when creating a loan account, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A readable name for easy recognition of the product
(REQUIRED only for term loans) The default numebr of instalments to be used in case the the number of instalments is not provided when creating a loan account
(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid
(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid
Readable name for the fee
Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.
For this type of fee, the figure in the amount field will be used to calculate the fee
This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.
This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.
On which event this fee should be applied for
Select this event if you wish that the fee will be automatically applied upon disbursement event
Select this event if you wish that the fee will be automatically applied upon the account going into arrears
Select this event if you wish that the fee will be automatically applied upon the account going into default
Select this event if this fee will be applied using ad hoc API commands
The number of days between account becoming late and account becoming in arrears
(Relevant only for term loans) There are two types of schedule calculation
With this option we take the principal amount and divide by the number of instalments to get the principal repayment of each instalments. We then calculate the interest accrued between instalments based on the principal balance in the account after the instalments.
With this option all the repayments are of the same amount (except the last one sometimes when you have to round the principal amount).
(Relevant only for term loans)
Choosing this option means that the amount repaid is taken off the principal of the last repayment. If the amount repaid is higher then the principal of the last repayment, then it should be deducted from the instalment before that, and so on, effectively reducing the number of instalments in the loan while all the remaining repayments stay the same in principal and interest amounts.
Choosing this option mean that the overall number of instalments stays the same, but the amount of each instalment is reduced. When calculating the new schedule, we need to take the total principal owed and recalculate the amounts for each of the remaining instalment as if it’s a new loan taken nor for that number of instalments.
Should the repayment date be rescheduled due to it being a holiday
Moves the repayment date to the last business day before the repayment date
Moves the repayment date to the first business day after the repayment date
Do not reschedule the repayment date
- “True” means that the interest will be calculated on holidays
- “Flase” means that on holidays, the interest will not be calculated
Repayment date is on specific day of the month
Last business day of the month
First business day of the month
if repayment_date_type is day_of_month then this field specifies the day
Responses
201
Body
Product ID
The type of the product
Revolving credit account with monthly statements
Revolving credit without statements and minimial payments
Status of the product configuration. Loan account cannot be created for draft products.
The upper limit of the credit amount for loan acounts that are created for this product
A default amount to be used in case an amount is not provided when creating a loan account
Max Interest rate for loan acounts that are created for this product, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A default interest to be used in case the rate is not provided when creating a loan account, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A readable name for easy recognition of the product
(Releveant only for term loans) The default numebr of instalments to be used in case the the number of instalments is not provided when creating a loan account
(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid
(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid
Readable name for the fee
Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.
For this type of fee, the figure in the amount field will be used to calculate the fee
This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.
This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.
On which event this fee should be applied for
Select this event if you wish that the fee will be automatically applied upon disbursement event
Select this event if you wish that the fee will be automatically applied upon the account going into arrears
Select this event if you wish that the fee will be automatically applied upon the account going into default
Select this event if this fee will be applied using ad hoc API commands
The number of days between account becoming late and account becoming in arrears
(Relevant only for term loans) There are two types of schedule calculation
With this option we take the principal amount and divide by the number of instalments to get the principal repayment of each instalments. We then calculate the interest accrued between instalments based on the principal balance in the account after the instalments.
With this option all the repayments are of the same amount (except the last one sometimes when you have to round the principal amount).
(Relevant only for term loans)
Choosing this option means that the amount repaid is taken off the principal of the last repayment. If the amount repaid is higher then the principal of the last repayment, then it should be deducted from the instalment before that, and so on, effectively reducing the number of instalments in the loan while all the remaining repayments stay the same in principal and interest amounts.
Choosing this option mean that the overall number of instalments stays the same, but the amount of each instalment is reduced. When calculating the new schedule, we need to take the total principal owed and recalculate the amounts for each of the remaining instalment as if it’s a new loan taken nor for that number of instalments.
Should the repayment date be rescheduled due to it being a holiday
Moves the repayment date to the last business day before the repayment date
Moves the repayment date to the first business day after the repayment date
Do not reschedule the repayment date
- “True” means that the interest will be calculated on holidays
- “Flase” means that on holidays, the interest will not be calculated
Repayment date is on specific day of the month
Last business day of the month
First business day of the month
if repayment_date_type is day_of_month then this field specifies the day
Examples
{
"id": "'ec0ebaf1-525b-48e8-9738-e6a592962d87'",
"type": "simple_revolving_credit",
"is_draft": true,
"max_loan_amount": 1000,
"default_loan_amount": 600,
"max_interest_rate": 15,
"default_interest_rate": 10,
"name": "Cash advance",
"installments": 6,
"default_grace_instalments": "2",
"principal_repayment_grace": "2",
"default_fees": {
"name": "\"Disbursement Fee\"",
"type": "percent",
"Amount": 1,
"Event": "arrears"
},
"arrears_tolerance": "7",
"interest_calculation": "equal_principal_payments",
"early_repayment_recalculation": "reduced_instalments",
"repayment_holiday_scheduling": "on_day",
"calculate_interest_on_holidays": true,
"repayment_date_type": "last_day_of_month",
"repayment_date_period": 10
}
{id}
/Authentication
Get a specific product configuration
Path variables
A UUID string identifying this Product.
Request headers
Responses
200
Body
Product ID
The type of the product
Revolving credit account with monthly statements
Revolving credit without statements and minimial payments
Status of the product configuration. Loan account cannot be created for draft products.
The upper limit of the credit amount for loan acounts that are created for this product
A default amount to be used in case an amount is not provided when creating a loan account
Max Interest rate for loan acounts that are created for this product, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A default interest to be used in case the rate is not provided when creating a loan account, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A readable name for easy recognition of the product
(Releveant only for term loans) The default numebr of instalments to be used in case the the number of instalments is not provided when creating a loan account
(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid
(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid
Readable name for the fee
Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.
For this type of fee, the figure in the amount field will be used to calculate the fee
This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.
This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.
On which event this fee should be applied for
Select this event if you wish that the fee will be automatically applied upon disbursement event
Select this event if you wish that the fee will be automatically applied upon the account going into arrears
Select this event if you wish that the fee will be automatically applied upon the account going into default
Select this event if this fee will be applied using ad hoc API commands
The number of days between account becoming late and account becoming in arrears
(Relevant only for term loans) There are two types of schedule calculation
With this option we take the principal amount and divide by the number of instalments to get the principal repayment of each instalments. We then calculate the interest accrued between instalments based on the principal balance in the account after the instalments.
With this option all the repayments are of the same amount (except the last one sometimes when you have to round the principal amount).
(Relevant only for term loans)
Choosing this option means that the amount repaid is taken off the principal of the last repayment. If the amount repaid is higher then the principal of the last repayment, then it should be deducted from the instalment before that, and so on, effectively reducing the number of instalments in the loan while all the remaining repayments stay the same in principal and interest amounts.
Choosing this option mean that the overall number of instalments stays the same, but the amount of each instalment is reduced. When calculating the new schedule, we need to take the total principal owed and recalculate the amounts for each of the remaining instalment as if it’s a new loan taken nor for that number of instalments.
Should the repayment date be rescheduled due to it being a holiday
Moves the repayment date to the last business day before the repayment date
Moves the repayment date to the first business day after the repayment date
Do not reschedule the repayment date
- “True” means that the interest will be calculated on holidays
- “Flase” means that on holidays, the interest will not be calculated
Repayment date is on specific day of the month
Last business day of the month
First business day of the month
if repayment_date_type is day_of_month then this field specifies the day
Examples
{
"id": "'ec0ebaf1-525b-48e8-9738-e6a592962d87'",
"type": "simple_revolving_credit",
"is_draft": true,
"max_loan_amount": 1000,
"default_loan_amount": 600,
"max_interest_rate": 15,
"default_interest_rate": 10,
"name": "Cash advance",
"installments": 6,
"default_grace_instalments": "2",
"principal_repayment_grace": "2",
"default_fees": {
"name": "\"Disbursement Fee\"",
"type": "percent",
"Amount": 1,
"Event": "default"
},
"arrears_tolerance": "7",
"interest_calculation": "equal_principal_payments",
"early_repayment_recalculation": "from_last_instalment",
"repayment_holiday_scheduling": "first_business_day_after_the_day",
"calculate_interest_on_holidays": true,
"repayment_date_type": "last_day_of_month",
"repayment_date_period": 10
}
{id}
/Authentication
Update the configuration of a specific product
Path variables
A UUID string identifying this Product.
Request headers
Request body
The type of the product
The upper limit of the credit amount for loan acounts that are created for this product
A default amount to be used in case an amount is not provided when creating a loan account
Max Interest rate for loan acounts that are created for this product, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A default interest to be used in case the rate is not provided when creating a loan account, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A readable name for easy recognition of the product
(REQUIRED only for term loans) The default numebr of instalments to be used in case the the number of instalments is not provided when creating a loan account
(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid
(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid
Readable name for the fee
Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.
For this type of fee, the figure in the amount field will be used to calculate the fee
This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.
This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.
On which event this fee should be applied for
Select this event if you wish that the fee will be automatically applied upon disbursement event
Select this event if you wish that the fee will be automatically applied upon the account going into arrears
Select this event if you wish that the fee will be automatically applied upon the account going into default
Select this event if this fee will be applied using ad hoc API commands
The number of days between account becoming late and account becoming in arrears
(Relevant only for term loans) There are two types of schedule calculation
(Relevant only for term loans)
Should the repayment date be rescheduled due to it being a holiday
- “True” means that the interest will be calculated on holidays
- “Flase” means that on holidays, the interest will not be calculated
if repayment_date_type is day_of_month then this field specifies the day
Responses
200
{id}
/Authentication
Update the configuration of a specific product
Path variables
A UUID string identifying this Product.
Request headers
Request body
The type of the product
The upper limit of the credit amount for loan acounts that are created for this product
A default amount to be used in case an amount is not provided when creating a loan account
Max Interest rate for loan acounts that are created for this product, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A default interest to be used in case the rate is not provided when creating a loan account, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A readable name for easy recognition of the product
(REQUIRED only for term loans) The default numebr of instalments to be used in case the the number of instalments is not provided when creating a loan account
(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid
(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid
Readable name for the fee
Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.
For this type of fee, the figure in the amount field will be used to calculate the fee
This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.
This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.
On which event this fee should be applied for
Select this event if you wish that the fee will be automatically applied upon disbursement event
Select this event if you wish that the fee will be automatically applied upon the account going into arrears
Select this event if you wish that the fee will be automatically applied upon the account going into default
Select this event if this fee will be applied using ad hoc API commands
The number of days between account becoming late and account becoming in arrears
(Relevant only for term loans) There are two types of schedule calculation
(Relevant only for term loans)
Should the repayment date be rescheduled due to it being a holiday
- “True” means that the interest will be calculated on holidays
- “Flase” means that on holidays, the interest will not be calculated
if repayment_date_type is day_of_month then this field specifies the day
Responses
200
{id}
/Authentication
Delete the configuration of a specific product Once a product is published it cannot be deleted
Path variables
A UUID string identifying this Product.
Request headers
Responses
204
{id}
/quote/Authentication
Method returns loan schedule. Based on date from product.
Path variables
A UUID string identifying this Product.
Request headers
Responses
{id}
/publish/Authentication
Publish a configured product. Once a product is published it cannot be updated
Path variables
A UUID string identifying this Product.
Request headers
Request body
The type of product you are trying to configure. Allowed values are: revolving_credit
The upper limit of the credit amount for loan acounts that are created for this product
A default amount to be used in case an amount is not provided when creating a loan account
Max Interest rate in % not real number i.e. 5% and not 0.05
Default Interest rate in % not real number i.e. 5% and not 0.05, if not not specified when creating the loan account
A readable name for easy recognition of the product
(Releveant only for term loans) The default numebr of instalments to be used in case the the number of instalments is not provided when creating a loan account
(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid
(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid
A list of pre-configured fees which can be used on loan account. The structure of a fee is: { ‘name’: Readable name for the fee, ‘type’: use flat charge the amount in the “amount” field as a fixed amount, or percent to charge an amount a percentage, as configured in the “amount” field, from the account balance, ‘amount’: the amount of the fee in % or flat according to the “type” field, ‘event’: ‘arrears’, }
The number of days between account becoming late and account becoming in arrears
There are two types of schedule calculation (we need to add a field for that): Equal principal payments - With this option we take the principal amount and divide by the number of instalments to get the principal repayment of each instalments. We then calculate the interest accrued between instalments based on the principal balance in the account after the instalments.
Even total payments - With this option all the repayments are of the same amount (except the last one sometimes when you have to round the principal amount).
(Releveant only for term loans) We have two option for how to reschedule the repayments in the event of an early repayment: from_last_instalment - Choosing this option means that the amount repaid is taken off the principal of the last repayment. If the amount repaid is higher then the principal of the last repayment, then it should be deducted from the instalment before that, and so on, effectively reducing the number of instalments in the loan while all the remaining repayments stay the same in principal and interest amounts.
reduced_instalments - Choosing this option mean that the overall number of instalments stays the same, but the amount of each instalment is reduced. When calculating the new schedule, we need to take the total principal owed and recalculate the amounts for each of the remaining instalment as if it’s a new loan taken nor for that number of instalments.
Should the repayment date be rescheduled due to it being a holiday. Options are: “last_business_day_before_the_day” - Moves the repayment date to the last business day before the repayment date
“first_business_day_after_the_day” - Moves the repayment date to the first business day after the repayment date
“on_day” - Do not reschedule the repayment date
“True” means that the interest will be calculated on holidays
“Flase” means that on holidays, the interest will not be calculated
Options are: “day_of_month” - Repayment date is on specific day of the month
“last_day_of_month” - Last business day of the month
“first_day_of_month” - First business day of the month
If repayment_date_type is day_of_month then this field specifies the day
Responses
201
These operation are used to manage the lifecycle of an end user (borrower). The end user account can be updated all the time. When an application is completed and being processed, Backbone will use the most current details it has on the end user.
{company_pk}
/assign-enduser/{company_pk}
/assign-enduser/{company_pk}
/assign-enduser/{id}
/{company_pk}
/assign-enduser/{id}
/{company_pk}
/assign-enduser/{id}
/{company_pk}
/assign-enduser/{id}
/{id}
/{id}
/{id}
/{id}
/loans/{end_user_pk}
/address/{end_user_pk}
/address/{end_user_pk}
/address/{id}
/{end_user_pk}
/address/{id}
/{end_user_pk}
/address/{id}
/{end_user_pk}
/address/{id}
/Authentication
View set for managing end user account
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Request headers
Responses
200
Body
Number of results
URL for the next batch of the request
URL for the previous batch of the request
Examples
{
"id": "'ec0ebaf1-525b-48e8-9738-e6a592962d87'",
"first_name": "John",
"last_name": "Blond",
"birth_date": "1980-04-23",
"address_line_1": "Example Mension",
"address_line_2": "3 Example Lane",
"address_line_3": "",
"city": "Example Town",
"postal_code": "CD2 4HD",
"country": "GB",
"bank_account_number": "123456678",
"sort_code": "124354",
"mobile_number": "",
"email": ""
}
Authentication
View set for managing end user account
Request headers
Request body
An individual end user
Limited Company
Sole Trader
Partnership of 3 individuals or less
Partenrship of 4 indiviuals or more
Examples
{
"first_name": "John",
"last_name": "Blond",
"birth_date": "1980-04-23",
"address_line_1": "Example Mension",
"address_line_2": "3 Example Lane",
"address_line_3": "",
"city": "Example Town",
"postal_code": "CD2 4HD",
"country": "GB",
"bank_account_number": "123456678",
"sort_code": "124354",
"mobile_number": "",
"email": ""
"type": "individual"
}
Responses
201
Body
Examples
{
"id": "'ec0ebaf1-525b-48e8-9738-e6a592962d87'",
"first_name": "cersei",
"last_name": "lannister",
"birth_date": "1967-09-12",
"address_line_1": "Red Keep Castle",
"address_line_2": "1 Castle way",
"address_line_3": "",
"city": "King's landing",
"postal_code": "N2 4FY",
"country": "GB",
"bank_account_number": "12345678",
"sort_code": "123456",
"mobile_number": "",
"email": ""
}
{company_pk}
/assign-enduser/Authentication
Override for getting csv file for query with filter and without pagination
Path variables
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Request headers
Responses
{company_pk}
/assign-enduser/Authentication
Path variables
Request headers
Request body
Responses
{company_pk}
/assign-enduser/{id}
/Authentication
Path variables
Request headers
Responses
{company_pk}
/assign-enduser/{id}
/Authentication
Path variables
Request headers
Responses
{company_pk}
/assign-enduser/{id}
/Authentication
Path variables
Request headers
Request body
Responses
{company_pk}
/assign-enduser/{id}
/Authentication
Path variables
Request headers
Request body
Responses
{id}
/Authentication
View set for managing end user account
Path variables
A UUID string identifying this end user.
Request headers
Responses
200
Body
Examples
{
"id": "'ec0ebaf1-525b-48e8-9738-e6a592962d87'",
"first_name": "cersei",
"last_name": "lannister",
"birth_date": "1967-09-12",
"address_line_1": "Red Keep Castle",
"address_line_2": "1 Castle way",
"address_line_3": "",
"city": "King's landing",
"postal_code": "N2 4FY",
"country": "GB",
"bank_account_number": "12345678",
"sort_code": "123456",
"mobile_number": "",
"email": "",
"type": "individual"
}
{id}
/Authentication
View set for managing end user account
Path variables
A UUID string identifying this end user.
Request headers
Request body
Responses
200
Body
Examples
{
"id": "'ec0ebaf1-525b-48e8-9738-e6a592962d87'",
"first_name": "cersei",
"last_name": "lannister",
"birth_date": "1967-09-12",
"address_line_1": "Red Keep Castle",
"address_line_2": "1 Castle way",
"address_line_3": "",
"city": "King's landing",
"postal_code": "N2 4FY",
"country": "GB",
"bank_account_number": "12345678",
"sort_code": "123456",
"mobile_number": "",
"email": ""
}
{id}
/Authentication
View set for managing end user account
Path variables
A UUID string identifying this end user.
Request headers
Request body
Responses
200
Body
Examples
{
"id": "'ec0ebaf1-525b-48e8-9738-e6a592962d87'",
"first_name": "cersei",
"last_name": "lannister",
"birth_date": "1967-09-12",
"address_line_1": "Red Keep Castle",
"address_line_2": "1 Castle way",
"address_line_3": "",
"city": "King's landing",
"postal_code": "N2 4FY",
"country": "GB",
"bank_account_number": "12345678",
"sort_code": "123456",
"mobile_number": "",
"email": ""
}
{id}
/loans/Authentication
View set for managing end user account
Path variables
A UUID string identifying this end user.
Request headers
Responses
{end_user_pk}
/address/Authentication
Override for getting csv file for query with filter and without pagination
Path variables
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Request headers
Responses
{end_user_pk}
/address/Authentication
View set for managing end user’s address
Path variables
Request headers
Request body
Responses
{end_user_pk}
/address/{id}
/Authentication
View set for managing end user’s address
Path variables
Request headers
Responses
{end_user_pk}
/address/{id}
/Authentication
View set for managing end user’s address
Path variables
Request headers
Responses
{end_user_pk}
/address/{id}
/Authentication
View set for managing end user’s address
Path variables
Request headers
Request body
Responses
{end_user_pk}
/address/{id}
/Authentication
View set for managing end user’s address
Path variables
Request headers
Request body
Responses
These operations are used to manage the life cycle of an application. Application can be created for an end user to apply for a specific credit product. After its creation, the end user can’t be changed. The rest of the application data can be updated. Once the application is complete, the “/complete/” request must be issued to trigger the processing of the application.
As long as there isn’t a loan account attached to the application, it can be reopened, updated and withdrawan. Once a loan account is opened for the application it becomes immutable.
{id}
/{id}
/{id}
/{id}
/complete/{id}
/reopen/{id}
/withdraw/Authentication
This endpoint is used to create a new application
Request headers
Request body
ID of the product the application is for
ID of the applying end user
The amount of requested credit
(Relevant only for term loans) Number of requested instalments. If not present, then the product default amount will be used.
Specific interest for the end user. If not present, then the product default amount will be used.
Json structure of additional custom fields
Responses
201
Body
Application ID
Application status
Product ID
End user ID
Amount of requested credit
Number of installments
Requested interest rate
Reason for decision
Examples
{
"id": "babca911-e530-47c1-b376-5d32f92cdeeb",
"status": "incomplete",
"product": "0dade50e-f2aa-44a0-bbb8-230cc13ac8c",
"end_user": "3fc3122d-5d8d-49c1-b6a1-854fc4591a18",
"amount": "1000.00",
"installments": "4",
"rate": "10",
"reason": ""
}
{id}
/Authentication
This endpoint is used to retrieve specific application
Path variables
A UUID string identifying this application.
Request headers
Responses
200
Body
Application ID
Application status
Product ID
End user ID
Amount of requested credit
Number of installments
Requested interest rate
Reason for decision
Examples
{
"id": "babca911-e530-47c1-b376-5d32f92cdeeb",
"status": "incomplete",
"product": "0dade50e-f2aa-44a0-bbb8-230cc13ac8c",
"end_user": "3fc3122d-5d8d-49c1-b6a1-854fc4591a18",
"amount": "1000.00",
"installments": "4",
"rate": "10",
"reason": ""
}
Authentication
This endpoint returns a list of application according to the filter used. By default returns 20 results, starting at offset 0.
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Application ID
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Request headers
Responses
200
Body
Number of results in query
URL for the next batch of the request
URL for the previous batch of the request
Application ID
Application status
Product ID
End user ID
Amount of requested credit
Number of installments
Requested interest rate
Reason for decision
Examples
{
"count": 23,
"next": "https://app.backbone-software.com/api/v1/application/?limit=20&offset=20",
"previous": "None",
"results": [
{
"id": "babca911-e530-47c1-b376-5d32f92cdeeb",
"status": "incomplete",
"product": "0dade50e-f2aa-44a0-bbb8-230cc13ac8c",
"end_user": "3fc3122d-5d8d-49c1-b6a1-854fc4591a18",
"amount": "1000.00",
"installments": "4",
"rate": "10",
"reason": ""
}
]
}
{id}
/Authentication
View set for manipulation with applications.
Path variables
A UUID string identifying this application.
Request headers
Request body
ID of the product the application is for
ID of the applying end user
The amount of requested credit
(Relevant only for term loans) Number of requested instalments. If not present, then the product default amount will be used.
Specific interest for the end user. If not present, then the product default amount will be used.
Json structure of additional custom fields
Examples
{
"id": "babca911-e530-47c1-b376-5d32f92cdeeb",
"status": "incomplete",
"product": "0dade50e-f2aa-44a0-bbb8-230cc13ac8c",
"end_user": "3fc3122d-5d8d-49c1-b6a1-854fc4591a18",
"amount": "1000.00",
"installments": "4",
"rate": "10",
"reason": ""
}
Responses
200
{id}
/Authentication
View set for manipulation with applications.
Path variables
A UUID string identifying this application.
Request headers
Request body
ID of the product the application is for
ID of the applying end user
The amount of requested credit
(Relevant only for term loans) Number of requested instalments. If not present, then the product default amount will be used.
Specific interest for the end user. If not present, then the product default amount will be used.
Json structure of additional custom fields
Responses
200
Body
Application ID
Application status
Product ID
End user ID
Amount of requested credit
Number of installments
Requested interest rate
Reason for decision
Examples
{
"id": "babca911-e530-47c1-b376-5d32f92cdeeb",
"status": "incomplete",
"product": "0dade50e-f2aa-44a0-bbb8-230cc13ac8c",
"end_user": "3fc3122d-5d8d-49c1-b6a1-854fc4591a18",
"amount": "1000.00",
"installments": "4",
"rate": "10",
"reason": ""
}
{id}
/complete/Authentication
This endpoint sets the status of application with ID {id} to complete. This will trigger the processing of the application which results in a “accept”/“decline” decision
Path variables
A UUID string identifying this application.
Request headers
Responses
200
Body
Application ID
Application status
Product ID
End user ID
Amount of requested credit
Number of installments
Requested interest rate
Reason for decision
Examples
{
"id": "babca911-e530-47c1-b376-5d32f92cdeeb",
"status": "approved",
"product": "0dade50e-f2aa-44a0-bbb8-230cc13ac8c",
"end_user": "3fc3122d-5d8d-49c1-b6a1-854fc4591a18",
"amount": "1000.00",
"installments": "4",
"rate": "10",
"reason": ""
}
{id}
/reopen/Authentication
Sets the status of the application to “incomplete”. This request is only applicable when:
- Application is withdrawen
- Application was processed and a decision given
This reuqest is invalid when a loan account was already created for this application.
Path variables
A UUID string identifying this application.
Request headers
Responses
200
Body
Application ID
Application status
Product ID
End user ID
Amount of requested credit
Number of installments
Requested interest rate
Reason for decision
Examples
{
"id": "babca911-e530-47c1-b376-5d32f92cdeeb",
"status": "incomplete",
"product": "0dade50e-f2aa-44a0-bbb8-230cc13ac8c",
"end_user": "3fc3122d-5d8d-49c1-b6a1-854fc4591a18",
"amount": "1000.00",
"installments": "4",
"rate": "10",
"reason": ""
}
{id}
/withdraw/Authentication
This requets will set the application status to withdrawan. This request is only applicable when:
- Application is incomplete
- Application was processed and a decision given
This reuqest is invalid when a loan account was already created for this application.
Path variables
A UUID string identifying this application.
Request headers
Responses
200
Body
Application ID
Application status
Product ID
End user ID
Amount of requested credit
Number of installments
Requested interest rate
Reason for decision
Examples
{
"id": "babca911-e530-47c1-b376-5d32f92cdeeb",
"status": "withdrawn",
"product": "0dade50e-f2aa-44a0-bbb8-230cc13ac8c",
"end_user": "3fc3122d-5d8d-49c1-b6a1-854fc4591a18",
"amount": "1000.00",
"installments": "4",
"rate": "10",
"reason": ""
}
{id}
/{id}
/close/{id}
/make_arrears/{id}
/make_default/{id}
/stop_interest_calculation/{id}
/start_interest_calculation/{id}
/cancel/{id}
/set_go_cardless_mandate/Authentication
This endpoint returns a list of application according to the filter used. By default returns 20 results, starting at offset 0.
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Request headers
Responses
200
Body
Number of results in query
URL for the next batch of the request
URL for the previous batch of the request
Loan ID
Application ID of the application for which this loan account is created
End user ID of the borrower of this loan account
The credit limit of this loan account
Interest rate for this loan account
(Relevant only for term loans) number of repayments for this loan
(Relevant only for term loans) Number of payment periods in which no repayments are expected
(Relevant only for term loans) Number of payment periods in which no principal repayments are expected, only interest will be charged during the grace period
Number of days between the repayment due date and when the account is considered in arrears
The status of the loan account
The principal balance
The interest balance
The fee balance
The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party
A flag indicating whether interest should be calculated for this loan account
For closed loans, the reason for closing the loan
For closed loans, the substatus for closing the loan
Examples
{
"count": "",
"next": "https://app.backbone-software.com/api/v1/loan/?limit=20&offset=20",
"previous": "None",
"results": [
{
"id": "6f025741-3a92-4e28-8869-b362b51d6b5f",
"application": "4eb8aa9c-fb91-4848-bd73-cf744a53f2ce",
"end_user": "aac5091e-be2a-4e41-b814-8726ca364853",
"amount": 1,
"rate": 1,
"installments": 10,
"grace_instalments": 5,
"principal_repayment_grace": 0,
"arrears_tolerance": 7,
"status": "inactive",
"principal": 1000.00,
"interest": 1.00,
"fee": 0,
"pending_principal": 0,
"pending_interest": 0,
"pending_fee": 0,
"is_interest_calculation_enabled": true,
"close_reason": "",
"close_substatus": ""
}
]
}
Authentication
This endpoint is used to create a new loan account.
Request headers
Request body
Application ID
Credit limit for the loan account
Interest rate for the loan account
(Relevant only for term loans) number of repayments for this loan
(Relevant only for term loans) Number of payment periods in which no repayments are expected
(Relevant only for term loans) Number of payment periods in which no principal repayments are expected, only interest will be charged during the grace period
Number of days between the repayment due date and when the account is considered in arrears
Responses
201
Body
Loan ID
Application ID of the application for which this loan account is created
End user ID of the borrower of this loan account
The credit limit of this loan account
Interest rate for this loan account
(Relevant only for term loans) number of repayments for this loan
(Relevant only for term loans) Number of payment periods in which no repayments are expected
(Relevant only for term loans) Number of payment periods in which no principal repayments are expected, only interest will be charged during the grace period
Number of days between the repayment due date and when the account is considered in arrears
The status of the loan account
The principal balance
The interest balance
The fee balance
The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party
A flag indicating whether interest should be calculated for this loan account
For closed loans, the reason for closing the loan
For closed loans, the substatus for closing the loan
Examples
{
"id": "6f025741-3a92-4e28-8869-b362b51d6b5f",
"application": "4eb8aa9c-fb91-4848-bd73-cf744a53f2ce",
"end_user": "aac5091e-be2a-4e41-b814-8726ca364853",
"amount": 1,
"rate": 1,
"installments": 10,
"grace_instalments": 5,
"principal_repayment_grace": 0,
"arrears_tolerance": 7,
"status": "inactive",
"principal": 1000.00,
"interest": 1.00,
"fee": 0,
"pending_principal": 0,
"pending_interest": 0,
"pending_fee": 0,
"is_interest_calculation_enabled": true,
"close_reason": "",
"close_substatus": ""
}
{id}
/Authentication
This endpoint is used to get a specific loan account with ID {id}
Path variables
A UUID string identifying this Loan account.
Request headers
Responses
200
Body
Loan ID
Application ID of the application for which this loan account is created
End user ID of the borrower of this loan account
The credit limit of this loan account
Interest rate for this loan account
(Relevant only for term loans) number of repayments for this loan
(Relevant only for term loans) Number of payment periods in which no repayments are expected
(Relevant only for term loans) Number of payment periods in which no principal repayments are expected, only interest will be charged during the grace period
Number of days between the repayment due date and when the account is considered in arrears
The status of the loan account
The principal balance
The interest balance
The fee balance
The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party
A flag indicating whether interest should be calculated for this loan account
For closed loans, the reason for closing the loan
For closed loans, the substatus for closing the loan
Examples
{
"id": "6f025741-3a92-4e28-8869-b362b51d6b5f",
"application": "4eb8aa9c-fb91-4848-bd73-cf744a53f2ce",
"end_user": "aac5091e-be2a-4e41-b814-8726ca364853",
"amount": 1,
"rate": 1,
"installments": 10,
"grace_instalments": 5,
"principal_repayment_grace": 0,
"arrears_tolerance": 7,
"status": "inactive",
"principal": 1000.00,
"interest": 1.00,
"fee": 0,
"pending_principal": 0,
"pending_interest": 0,
"pending_fee": 0,
"is_interest_calculation_enabled": true,
"close_reason": "",
"close_substatus": ""
}
{id}
/close/Authentication
This endpoint is used to close a loan account. Once an account is closed, it stops accruing interest, and the outstanding balance is considered as loss.
Path variables
A UUID string identifying this Loan account.
Request headers
Request body
A readable string for the closing reason
The valid substatuses are paid_in_full or written_off
Responses
201
Body
Loan ID
Application ID of the application for which this loan account is created
End user ID of the borrower of this loan account
The credit limit of this loan account
Interest rate for this loan account
(Relevant only for term loans) number of repayments for this loan
(Relevant only for term loans) Number of payment periods in which no repayments are expected
(Relevant only for term loans) Number of payment periods in which no principal repayments are expected, only interest will be charged during the grace period
Number of days between the repayment due date and when the account is considered in arrears
The status of the loan account
The principal balance
The interest balance
The fee balance
The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party
A flag indicating whether interest should be calculated for this loan account
For closed loans, the reason for closing the loan
For closed loans, the substatus for closing the loan
Examples
{
"id": "6f025741-3a92-4e28-8869-b362b51d6b5f",
"application": "4eb8aa9c-fb91-4848-bd73-cf744a53f2ce",
"end_user": "aac5091e-be2a-4e41-b814-8726ca364853",
"amount": 1,
"rate": 1,
"installments": 10,
"grace_instalments": 5,
"principal_repayment_grace": 0,
"arrears_tolerance": 7,
"status": "closed",
"principal": 1000.00,
"interest": 1.00,
"fee": 0,
"pending_principal": 0,
"pending_interest": 0,
"pending_fee": 0,
"is_interest_calculation_enabled": true,
"close_reason": "Account paid in full",
"close_substatus": "paid_in_full"
}
{id}
/make_arrears/Authentication
This endpoint is used to manually set the account status to arrears. Loan accounts go into arrears when a repayment is late for more then the period specified in the arrears tolerance field.
Path variables
A UUID string identifying this Loan account.
Request headers
Request body
Responses
201
Body
Loan ID
Application ID of the application for which this loan account is created
End user ID of the borrower of this loan account
The credit limit of this loan account
Interest rate for this loan account
(Relevant only for term loans) number of repayments for this loan
(Relevant only for term loans) Number of payment periods in which no repayments are expected
(Relevant only for term loans) Number of payment periods in which no principal repayments are expected, only interest will be charged during the grace period
Number of days between the repayment due date and when the account is considered in arrears
The status of the loan account
The principal balance
The interest balance
The fee balance
The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party
A flag indicating whether interest should be calculated for this loan account
For closed loans, the reason for closing the loan
For closed loans, the substatus for closing the loan
Examples
{
"id": "6f025741-3a92-4e28-8869-b362b51d6b5f",
"application": "4eb8aa9c-fb91-4848-bd73-cf744a53f2ce",
"end_user": "aac5091e-be2a-4e41-b814-8726ca364853",
"amount": 1,
"rate": 1,
"installments": 10,
"grace_instalments": 5,
"principal_repayment_grace": 0,
"arrears_tolerance": 7,
"status": "arrears",
"principal": 1000.00,
"interest": 1.00,
"fee": 0,
"pending_principal": 0,
"pending_interest": 0,
"pending_fee": 0,
"is_interest_calculation_enabled": true,
"close_reason": "",
"close_substatus": ""
}
{id}
/make_default/Authentication
This endpoint is used to manually set the account status to default.
Path variables
A UUID string identifying this Loan account.
Request headers
Request body
Responses
201
Body
Loan ID
Application ID of the application for which this loan account is created
End user ID of the borrower of this loan account
The credit limit of this loan account
Interest rate for this loan account
(Relevant only for term loans) number of repayments for this loan
(Relevant only for term loans) Number of payment periods in which no repayments are expected
(Relevant only for term loans) Number of payment periods in which no principal repayments are expected, only interest will be charged during the grace period
Number of days between the repayment due date and when the account is considered in arrears
The status of the loan account
The principal balance
The interest balance
The fee balance
The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party
A flag indicating whether interest should be calculated for this loan account
For closed loans, the reason for closing the loan
For closed loans, the substatus for closing the loan
Examples
{
"id": "6f025741-3a92-4e28-8869-b362b51d6b5f",
"application": "4eb8aa9c-fb91-4848-bd73-cf744a53f2ce",
"end_user": "aac5091e-be2a-4e41-b814-8726ca364853",
"amount": 1,
"rate": 1,
"installments": 10,
"grace_instalments": 5,
"principal_repayment_grace": 0,
"arrears_tolerance": 7,
"status": "default",
"principal": 1000.00,
"interest": 1.00,
"fee": 0,
"pending_principal": 0,
"pending_interest": 0,
"pending_fee": 0,
"is_interest_calculation_enabled": true,
"close_reason": "",
"close_substatus": ""
}
{id}
/stop_interest_calculation/Authentication
This request may be used in cases when a partner whishes to stop interest calculation for a loan. Using this request will stop the interest calcualtion for a loan, until it’s enabled again using Enable interest calculation for a loan account
Path variables
A UUID string identifying this Loan account.
Request headers
Request body
Responses
201
Body
Loan ID
Application ID of the application for which this loan account is created
End user ID of the borrower of this loan account
The credit limit of this loan account
Interest rate for this loan account
(Relevant only for term loans) number of repayments for this loan
(Relevant only for term loans) Number of payment periods in which no repayments are expected
(Relevant only for term loans) Number of payment periods in which no principal repayments are expected, only interest will be charged during the grace period
Number of days between the repayment due date and when the account is considered in arrears
The status of the loan account
The principal balance
The interest balance
The fee balance
The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party
A flag indicating whether interest should be calculated for this loan account
For closed loans, the reason for closing the loan
For closed loans, the substatus for closing the loan
Examples
{
"id": "6f025741-3a92-4e28-8869-b362b51d6b5f",
"application": "4eb8aa9c-fb91-4848-bd73-cf744a53f2ce",
"end_user": "aac5091e-be2a-4e41-b814-8726ca364853",
"amount": 1,
"rate": 1,
"installments": 10,
"grace_instalments": 5,
"principal_repayment_grace": 0,
"arrears_tolerance": 7,
"status": "inactive",
"principal": 1000.00,
"interest": 1.00,
"fee": 0,
"pending_principal": 0,
"pending_interest": 0,
"pending_fee": 0,
"is_interest_calculation_enabled": false,
"close_reason": "",
"close_substatus": ""
}
{id}
/start_interest_calculation/Authentication
By default, interest is calculated for active loan accounts. In some scenarios, the partner may choose to disable interest calcualtion for a loan. In that use case, this request will enable it back.
Path variables
A UUID string identifying this Loan account.
Request headers
Request body
Responses
201
Body
Loan ID
Application ID of the application for which this loan account is created
End user ID of the borrower of this loan account
The credit limit of this loan account
Interest rate for this loan account
(Relevant only for term loans) number of repayments for this loan
(Relevant only for term loans) Number of payment periods in which no repayments are expected
(Relevant only for term loans) Number of payment periods in which no principal repayments are expected, only interest will be charged during the grace period
Number of days between the repayment due date and when the account is considered in arrears
The status of the loan account
The principal balance
The interest balance
The fee balance
The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party
A flag indicating whether interest should be calculated for this loan account
For closed loans, the reason for closing the loan
For closed loans, the substatus for closing the loan
Examples
{
"id": "6f025741-3a92-4e28-8869-b362b51d6b5f",
"application": "4eb8aa9c-fb91-4848-bd73-cf744a53f2ce",
"end_user": "aac5091e-be2a-4e41-b814-8726ca364853",
"amount": 1,
"rate": 1,
"installments": 10,
"grace_instalments": 5,
"principal_repayment_grace": 0,
"arrears_tolerance": 7,
"status": "inactive",
"principal": 1000.00,
"interest": 1.00,
"fee": 0,
"pending_principal": 0,
"pending_interest": 0,
"pending_fee": 0,
"is_interest_calculation_enabled": true,
"close_reason": "",
"close_substatus": ""
}
{id}
/cancel/Authentication
View set for managing end user account
Path variables
A UUID string identifying this Loan account.
Request headers
Request body
Responses
{id}
/set_go_cardless_mandate/Authentication
View set for managing end user account
Path variables
A UUID string identifying this Loan account.
Request headers
Request body
Responses
201
The Backbone decision engine is built for maximum flexibility. Each product is linked to a risk engine selector. The risk engine selector is unique and can only be linked to a single product. Each risk engine selector is linked to one or more risk engines. The selector’s task is to choose which of the linked risked engines will be used to process the application. The selection is made based on the relative weights of the risk engines. This enables the lender to test the performance new versions of risk engines along side an active risk engine.
Each risk engine is linked to one or more scorecards. The risk engine calculates the scorecards and checks whether the score of each scorecard is above or under the threshold in order to make the final decision. All the scorecards must have a score above their threshold for the application to be accepted.
Each scorecard is a list of rules and a threshold. When a scorecard is calculated, the statement is each rule is evaluated, compared to the threshold of the rule and added to the overall score of the scorecard. There are two calculation options:
- stop on first fail: with this option, if the result of the evaluation of a statment fails to pass the rule threshold, further rules in the scorecards will not be calculated. With this option the order of the rules within a scorecard has an important significance.
- continue after fail: with this option the scorecard will evaluate all of the rules regardless of whether individual rule passes the threshold or not. The overall score of all the rules will determine whether the scorecard passed ot failed. In the option the order of the rules in the scorecard have no significance.
Each rule needs to be a logical statment that uses input sources that were previously configured in the system. Input source name should be placed in a curly brackets in the statement. Examples:
- Boolean statement using an input source called boolean_input_source: 1000 if {{boolean_input_source}} else 0
- Float number statment using an input source called float_input_source: (100 * {{float_input_source}})/365
- String based statment using an input source called str_input_source: 500 if {{str_input_source}} == ‘test’ else 100
Input sources must be added to the system as part of setting up the system for individual partner. Some input sources can be pre configured based on various service providers used for the specific partner, such as credit bureaus and bank account data providers.Once an application is created, you can start adding data points for it. Each data point must be linked to one of the input sources, otherwise adding it will result in a failed request.
{id}
/{id}
/Authentication
View set for Decisions
Path variables
A UUID string identifying this decision.
Request headers
Responses
Body
ID of the application
The version of the risk engine that processed the application
The result object
The final decision on the application
An array of the scorecards that were calculated during the assessment
Scorecard name
Scorecard decision
The calculated score of the scorecard
The result of each rule in the scorecard
The name of the rule
The calculation of the rule
Authentication
Override for getting csv file for query with filter and without pagination
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Request headers
Responses
{id}
/{id}
/{id}
/activate/{id}
/Authentication
View set for risk engines
Request headers
Request body
Risk engine version
Determines whether the risk engine is active
List of scorecard IDs
Responses
Body
Risk engine ID
Unique risk engine version
Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector
List of scorecard IDs
{id}
/Authentication
View set for risk engines
Path variables
A UUID string identifying this risk engine.
Request headers
Request body
Risk engine version
Determines whether the risk engine is active
List of scorecard IDs
Responses
Body
Risk engine ID
Unique risk engine version
Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector
List of scorecard IDs
{id}
/Authentication
View set for risk engines
Path variables
A UUID string identifying this risk engine.
Request headers
Request body
Risk engine version
Determines whether the risk engine is active
List of scorecard IDs
Responses
Body
Risk engine ID
Unique risk engine version
Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector
List of scorecard IDs
{id}
/activate/Authentication
View set for risk engines
Path variables
A UUID string identifying this risk engine.
Request headers
Request body
Responses
Body
Risk engine ID
Unique risk engine version
Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector
List of scorecard IDs
{id}
/Authentication
View set for risk engines
Path variables
A UUID string identifying this risk engine.
Request headers
Responses
Body
Risk engine ID
Unique risk engine version
Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector
List of scorecard IDs
Authentication
Override for getting csv file for query with filter and without pagination
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Request headers
Responses
Body
Risk engine ID
Unique risk engine version
Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector
List of scorecard IDs
{id}
/{id}
/{id}
/activate/{id}
/Authentication
View set for risk engines
Request headers
Request body
Responses
{id}
/Authentication
View set for risk engines
Path variables
A UUID string identifying this scorecard.
Request headers
Request body
Scorecard name
The threshold that determies whether the application passed the scorecard or failed
Determines whether the calculation of the scorecard should stop on the first failing rule
Array of rules to be calculated
This is the logic statment that will be calculated in the rule
The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1
The threshold that determines whether the application passed the rule or failed
Responses
Body
Scorecard name
The threshold that determies whether the application passed the scorecard or failed
Determines whether the calculation of the scorecard should stop on the first failing rule
Array of rules to be calculated
This is the logic statment that will be calculated in the rule
The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1
The threshold that determines whether the application passed the rule or failed
{id}
/Authentication
View set for risk engines
Path variables
A UUID string identifying this scorecard.
Request headers
Request body
Scorecard name
The threshold that determies whether the application passed the scorecard or failed
Determines whether the calculation of the scorecard should stop on the first failing rule
Array of rules to be calculated
This is the logic statment that will be calculated in the rule
The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1
The threshold that determines whether the application passed the rule or failed
Responses
Body
Scorecard name
The threshold that determies whether the application passed the scorecard or failed
Determines whether the calculation of the scorecard should stop on the first failing rule
Array of rules to be calculated
This is the logic statment that will be calculated in the rule
The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1
The threshold that determines whether the application passed the rule or failed
{id}
/activate/Authentication
View set for risk engines
Path variables
A UUID string identifying this scorecard.
Request headers
Request body
Responses
Body
Scorecard name
The threshold that determies whether the application passed the scorecard or failed
Determines whether the calculation of the scorecard should stop on the first failing rule
Array of rules to be calculated
This is the logic statment that will be calculated in the rule
The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1
The threshold that determines whether the application passed the rule or failed
{id}
/Authentication
View set for risk engines
Path variables
A UUID string identifying this scorecard.
Request headers
Responses
Body
Scorecard name
The threshold that determies whether the application passed the scorecard or failed
Determines whether the calculation of the scorecard should stop on the first failing rule
Array of rules to be calculated
This is the logic statment that will be calculated in the rule
The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1
The threshold that determines whether the application passed the rule or failed
Authentication
Override for getting csv file for query with filter and without pagination
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Request headers
Responses
Body
Scorecard name
The threshold that determies whether the application passed the scorecard or failed
Determines whether the calculation of the scorecard should stop on the first failing rule
Array of rules to be calculated
This is the logic statment that will be calculated in the rule
The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1
The threshold that determines whether the application passed the rule or failed
{id}
/{id}
/{id}
/Authentication
View set for risk engine selectors
Request headers
Request body
The ID of the product using this selector
List of risk engine versions and their weights. Sum of weights must be 1
Version of the risk engine to be selected from. Only active risk engines can be selected.
Responses
Body
The ID of the selector
The ID of the product using this selector
List of risk engines and their weights
{id}
/Authentication
View set for risk engine selectors
Path variables
A UUID string identifying this risk engine selector.
Request headers
Request body
The ID of the product using this selector
List of risk engine versions and their weights. Sum of weights must be 1
Version of the risk engine to be selected from. Only active risk engines can be selected.
Responses
Body
The ID of the selector
The ID of the product using this selector
List of risk engines and their weights
{id}
/Authentication
View set for risk engine selectors
Path variables
A UUID string identifying this risk engine selector.
Request headers
Request body
The ID of the product using this selector
List of risk engine versions and their weights. Sum of weights must be 1
Version of the risk engine to be selected from. Only active risk engines can be selected.
Responses
Body
The ID of the selector
The ID of the product using this selector
List of risk engines and their weights
{id}
/Authentication
View set for risk engine selectors
Path variables
A UUID string identifying this risk engine selector.
Request headers
Responses
Body
The ID of the selector
The ID of the product using this selector
List of risk engines and their weights
Authentication
Override for getting csv file for query with filter and without pagination
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Request headers
Responses
Body
The ID of the selector
The ID of the product using this selector
List of risk engines and their weights
{id}
/{id}
/{id}
/Authentication
View set for data points
Request headers
Request body
ID of the input source this data comes from
The ID of the application this data point relates to
Responses
Body
ID of the input source this data comes from
The ID of the application this data point relates to
{id}
/Authentication
View set for data points
Path variables
A UUID string identifying this data point.
Request headers
Request body
ID of the input source this data comes from
The ID of the application this data point relates to
Responses
Body
ID of the input source this data comes from
The ID of the application this data point relates to
{id}
/Authentication
View set for data points
Path variables
A UUID string identifying this data point.
Request headers
Request body
ID of the input source this data comes from
The ID of the application this data point relates to
Responses
Body
ID of the input source this data comes from
The ID of the application this data point relates to
Authentication
Override for getting csv file for query with filter and without pagination
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Request headers
Responses
Body
ID of the input source this data comes from
The ID of the application this data point relates to
{id}
/Authentication
View set for data points
Path variables
A UUID string identifying this data point.
Request headers
Responses
Body
ID of the input source this data comes from
The ID of the application this data point relates to
{id}
/{id}
/{id}
/Authentication
View set for input sources
Request headers
Request body
Responses
Body
{id}
/Authentication
View set for input sources
Path variables
A UUID string identifying this input source.
Request headers
Request body
Responses
Body
{id}
/Authentication
View set for input sources
Path variables
A UUID string identifying this input source.
Request headers
Request body
Responses
Body
{id}
/Authentication
View set for input sources
Path variables
A UUID string identifying this input source.
Request headers
Responses
Body
Authentication
Override for getting csv file for query with filter and without pagination
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Request headers
Responses
Body
{id}
/{id}
/apply/{id}
/retry/{id}
/revert/What are transactions?
Transactions are operations performed on the loan account. Any disbursement, repayment or change in interest is logged as a transaction in the account. Some transactions are applied immediately, e.g. applying interest to the account, and some requires more time to process, usually because it depends on a 3rd party system, e.g. disbursements are carried out by a 3rd party, and the response is not always immediate.
While the transaction result is not yet confirmed, it will be in pending state. In most cases, while the transaction in in pending state, the account balance will not be updated, but it will be taken into account for the purpose of keeping with the credit limit. For example, let’s take a revolving credit account with a credit limit of £2,000, out of which £1,500 were already disbursed. Now the end user wants to borrow additional £500. This request does not violate the credit limit, so it is approved. The transaction is then created and stays in pending state until confirmed by the 3rd party. The account balance will still show £1,500, as the transaction is pending. Let’s say that while the transaction is still pending, the enduser tries to borrow another £500. Obviously, if these two transactions will be approved the credit limit will be breached. To avoid this the 2nd transaction will be rejected by the Backbone API.
Transactions can be reverted if made by mistake, but this should not be a common practice.
What happnes when a transaction is reverted?
Reverting a transaction will cause the reversion of all the transactions that where applied after the reverted transaction was applied, therfore might have a significant impact on the account balance and the corretness of the calculations. For example reverting a transaction that was applied a few days back will cause the reversion of all the interest transactions that were applied during these days. These transactions will not be recalculated automatically.
Limitations on reverting transactions
In specific cases reverting a transaction is not possible:
- If the transaction is in pending state
- If any of the following transactions is in pending state
- In the case of a Revolving Credit account with statemets, ff the transaction is part of a closed statement
Repayment transactions
There are two instances of repayment transactions:
- Repayments that are generated by the end user or partner, e.g. repayment of a some of the account balance
- Automatically generated repayments, e.g. a scheduled repayment of a term loan
These transactions are not processed in the same way. When a request is received to create a manual repayment (generated by the partner or end user), the account balance is updated immediately to reflect the repayment. This is done in oreder to avoid accruing interest on an amount that is being repaid during the period that the transaction is still pending. If the transaction eventually fails, the transactions that were applied during the pending period are recalculated.
For automatically generated repayments, the account balance will not reflect that repayment until it is approved by the collections provider.
Authentication
View set for managing transactions
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Request headers
Responses
200
Authentication
View set for managing transactions
Request headers
Request body
The ID of the loan you wich to apply the transaction to
The type of the transaction
(Only for a non default fee) This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.
A readable name for this fee transation. If the prodcut of the loan account this transaction is created for has a fee with that name, then the amount
and fee_type
should remain empty. If there isn’t such fee then they are required.
(Only for a non default fee) Describes whether the fee should be calculated as flat fee or as percetage from the account balance.
A unique key for this transaction. This key is very important as it’s serves as a unique identifier for a transactio and the API will ensure this payment is only ever created once. This means that if an API request times out or something goes wrong on your end, you won’t ever accidentally disburse a loan twice or charge the end user twice.
Responses
201
{id}
/Authentication
View set for managing transactions
Path variables
A UUID string identifying this Transaction.
Request headers
Responses
200
{id}
/apply/Authentication
This endpoint may be used to set a disbursement or repayment transaction status to applied
when:
- A transaction is in pending state and due to an error the platform didn’t get a response from the 3rd part, but the request was processed and now Backbone’s platform needs to be updated
- The partner is not using one of Backbone’s 3rd party provider for disbursements and repayments, in which case the tranactions are processed outside the platform and requires a manual update
Path variables
A UUID string identifying this Transaction.
Request headers
Request body
Responses
201
{id}
/retry/Authentication
View set for managing transactions
Path variables
A UUID string identifying this Transaction.
Request headers
Request body
Responses
{id}
/revert/Authentication
This endpoint is used to revert a specific transaction.
Since all the transactions are linked and depended on one another, reverting a transaction will also revert all the transactions that postdated it.
Only transactions that are is applied
status can be reverted. This means that a reuqest to revert an applied
transaction would fail, also a request to revert a transaction which one of the transactions that postdate it isn’t applied
yet will fail.
Path variables
A UUID string identifying this Transaction.
Request headers
Request body
Responses
201
{id}
/manage_state/{id}
/{id}
/manage_state/Authentication
View allows to disable or enable mandate requires to send is_disabled boolean parameter :param request: :param args: :param kwargs: :return:
Path variables
A UUID string identifying this go cardless mandate.
Request headers
Request body
Responses
201
{id}
/Authentication
View set for mandates
Path variables
A UUID string identifying this go cardless mandate.
Request parameters
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Request headers
Responses
200
Authentication
Override for getting csv file for query with filter and without pagination
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
End user id
Multiple values of end user ID, may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Request headers
Responses
200
{id}
/Authentication
Override for getting csv file for query with filter and without pagination
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Request headers
Responses
200
{id}
/Authentication
View set for retrieving statements
Path variables
A UUID string identifying this Statement.
Request headers
Responses
200
Authentication
Override for getting csv file for query with filter and without pagination
Request parameters
Number of results to return per page.
The initial index from which to return the results.
Request headers
Responses
ID of the input source this data comes from
The ID of the application this data point relates to
ID of the input source this data comes from
The ID of the application this data point relates to
The ID of the selector
The ID of the product using this selector
List of risk engines and their weights
The ID of the product using this selector
List of risk engine versions and their weights. Sum of weights must be 1
Version of the risk engine to be selected from. Only active risk engines can be selected.
Risk engine ID
Unique risk engine version
Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector
List of scorecard IDs
Risk engine version
Determines whether the risk engine is active
List of scorecard IDs
Scorecard name
The threshold that determies whether the application passed the scorecard or failed
Determines whether the calculation of the scorecard should stop on the first failing rule
Array of rules to be calculated
This is the logic statment that will be calculated in the rule
The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1
The threshold that determines whether the application passed the rule or failed
ID of the application
The version of the risk engine that processed the application
The result object
The final decision on the application
An array of the scorecards that were calculated during the assessment
Scorecard name
Scorecard decision
The calculated score of the scorecard
The result of each rule in the scorecard
The name of the rule
The calculation of the rule
This schema describes a Default Fee. Default fees can be used for quick application of fees on a loan account.
Readable name for the fee
Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.
For this type of fee, the figure in the amount field will be used to calculate the fee
This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.
This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.
On which event this fee should be applied for
Select this event if you wish that the fee will be automatically applied upon disbursement event
Select this event if you wish that the fee will be automatically applied upon the account going into arrears
Select this event if you wish that the fee will be automatically applied upon the account going into default
Select this event if this fee will be applied using ad hoc API commands
Examples
{
"name": "\"Disbursement Fee\"",
"type": "percent",
"Amount": 1,
"Event": "arrears"
}
Product ID
The type of the product
Revolving credit account with monthly statements
Revolving credit without statements and minimial payments
Status of the product configuration. Loan account cannot be created for draft products.
The upper limit of the credit amount for loan acounts that are created for this product
A default amount to be used in case an amount is not provided when creating a loan account
Max Interest rate for loan acounts that are created for this product, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A default interest to be used in case the rate is not provided when creating a loan account, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A readable name for easy recognition of the product
(Releveant only for term loans) The default numebr of instalments to be used in case the the number of instalments is not provided when creating a loan account
(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid
(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid
Readable name for the fee
Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.
For this type of fee, the figure in the amount field will be used to calculate the fee
This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.
This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.
On which event this fee should be applied for
Select this event if you wish that the fee will be automatically applied upon disbursement event
Select this event if you wish that the fee will be automatically applied upon the account going into arrears
Select this event if you wish that the fee will be automatically applied upon the account going into default
Select this event if this fee will be applied using ad hoc API commands
The number of days between account becoming late and account becoming in arrears
(Relevant only for term loans) There are two types of schedule calculation
With this option we take the principal amount and divide by the number of instalments to get the principal repayment of each instalments. We then calculate the interest accrued between instalments based on the principal balance in the account after the instalments.
With this option all the repayments are of the same amount (except the last one sometimes when you have to round the principal amount).
(Relevant only for term loans)
Choosing this option means that the amount repaid is taken off the principal of the last repayment. If the amount repaid is higher then the principal of the last repayment, then it should be deducted from the instalment before that, and so on, effectively reducing the number of instalments in the loan while all the remaining repayments stay the same in principal and interest amounts.
Choosing this option mean that the overall number of instalments stays the same, but the amount of each instalment is reduced. When calculating the new schedule, we need to take the total principal owed and recalculate the amounts for each of the remaining instalment as if it’s a new loan taken nor for that number of instalments.
Should the repayment date be rescheduled due to it being a holiday
Moves the repayment date to the last business day before the repayment date
Moves the repayment date to the first business day after the repayment date
Do not reschedule the repayment date
- “True” means that the interest will be calculated on holidays
- “Flase” means that on holidays, the interest will not be calculated
Repayment date is on specific day of the month
Last business day of the month
First business day of the month
if repayment_date_type is day_of_month then this field specifies the day
Examples
{
"id": "'ec0ebaf1-525b-48e8-9738-e6a592962d87'",
"type": "revolving_credit",
"is_draft": true,
"max_loan_amount": 1000,
"default_loan_amount": 600,
"max_interest_rate": 15,
"default_interest_rate": 10,
"name": "Cash advance",
"installments": 6,
"default_grace_instalments": "2",
"principal_repayment_grace": "2",
"default_fees": {
"name": "\"Disbursement Fee\"",
"type": "percent",
"Amount": 1,
"Event": "default"
},
"arrears_tolerance": "7",
"interest_calculation": "equal_instalments",
"early_repayment_recalculation": "from_last_instalment",
"repayment_holiday_scheduling": "last_business_day_before_the_day",
"calculate_interest_on_holidays": true,
"repayment_date_type": "last_day_of_month",
"repayment_date_period": 10
}
The type of the product
Revolving credit account with monthly statements
Line of credit account, with no mimial monthly payment
A term loan where an equal amount of the principal is repaid in each intalment
A term loan where all the instalments have the same amount
The upper limit of the credit amount for loan acounts that are created for this product
A default amount to be used in case an amount is not provided when creating a loan account
Max Interest rate for loan acounts that are created for this product, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A default interest to be used in case the rate is not provided when creating a loan account, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A readable name for easy recognition of the product
(REQUIRED only for term loans) The default numebr of instalments to be used in case the the number of instalments is not provided when creating a loan account
(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid
(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid
Readable name for the fee
Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.
For this type of fee, the figure in the amount field will be used to calculate the fee
This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.
This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.
On which event this fee should be applied for
Select this event if you wish that the fee will be automatically applied upon disbursement event
Select this event if you wish that the fee will be automatically applied upon the account going into arrears
Select this event if you wish that the fee will be automatically applied upon the account going into default
Select this event if this fee will be applied using ad hoc API commands
The number of days between account becoming late and account becoming in arrears
(Relevant only for term loans) There are two types of schedule calculation
With this option we take the principal amount and divide by the number of instalments to get the principal repayment of each instalments. We then calculate the interest accrued between instalments based on the principal balance in the account after the instalments.
With this option all the repayments are of the same amount (except the last one sometimes when you have to round the principal amount).
(Relevant only for term loans)
Choosing this option means that the amount repaid is taken off the principal of the last repayment. If the amount repaid is higher then the principal of the last repayment, then it should be deducted from the instalment before that, and so on, effectively reducing the number of instalments in the loan while all the remaining repayments stay the same in principal and interest amounts.
Choosing this option mean that the overall number of instalments stays the same, but the amount of each instalment is reduced. When calculating the new schedule, we need to take the total principal owed and recalculate the amounts for each of the remaining instalment as if it’s a new loan taken nor for that number of instalments.
Should the repayment date be rescheduled due to it being a holiday
Moves the repayment date to the last business day before the repayment date
Moves the repayment date to the first business day after the repayment date
Do not reschedule the repayment date
- “True” means that the interest will be calculated on holidays
- “Flase” means that on holidays, the interest will not be calculated
Repayment date is on specific day of the month
Last business day of the month
First business day of the month
if repayment_date_type is day_of_month then this field specifies the day
The type of the product
The upper limit of the credit amount for loan acounts that are created for this product
A default amount to be used in case an amount is not provided when creating a loan account
Max Interest rate for loan acounts that are created for this product, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A default interest to be used in case the rate is not provided when creating a loan account, should be expressed in % not real number i.e. for 5% annual rate you should provide 5 and not 0.05
A readable name for easy recognition of the product
(REQUIRED only for term loans) The default numebr of instalments to be used in case the the number of instalments is not provided when creating a loan account
(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid
(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid
Readable name for the fee
Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.
For this type of fee, the figure in the amount field will be used to calculate the fee
This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.
This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.
On which event this fee should be applied for
Select this event if you wish that the fee will be automatically applied upon disbursement event
Select this event if you wish that the fee will be automatically applied upon the account going into arrears
Select this event if you wish that the fee will be automatically applied upon the account going into default
Select this event if this fee will be applied using ad hoc API commands
The number of days between account becoming late and account becoming in arrears
(Relevant only for term loans) There are two types of schedule calculation
(Relevant only for term loans)
Should the repayment date be rescheduled due to it being a holiday
- “True” means that the interest will be calculated on holidays
- “Flase” means that on holidays, the interest will not be calculated
if repayment_date_type is day_of_month then this field specifies the day
An individual end user
Limited Company
Sole Trader
Partnership of 3 individuals or less
Partenrship of 4 indiviuals or more
ID of the product the application is for
ID of the applying end user
The amount of requested credit
(Relevant only for term loans) Number of requested instalments. If not present, then the product default amount will be used.
Specific interest for the end user. If not present, then the product default amount will be used.
Json structure of additional custom fields
Examples
{
"product": "9067d36f-415f-41c2-bf9c-4300fba0c43e",
"end_user": "2f3d6759-2022-4120-8bcc-96056a9fb86c",
"amount": "10000",
"installments": "5",
"rate": "10"
}
Application ID
Application status
Product ID
End user ID
Amount of requested credit
Number of installments
Requested interest rate
Reason for decision
Loan ID
Application ID of the application for which this loan account is created
End user ID of the borrower of this loan account
The credit limit of this loan account
Interest rate for this loan account
(Relevant only for term loans) number of repayments for this loan
(Relevant only for term loans) Number of payment periods in which no repayments are expected
(Relevant only for term loans) Number of payment periods in which no principal repayments are expected, only interest will be charged during the grace period
Number of days between the repayment due date and when the account is considered in arrears
The status of the loan account
The principal balance
The interest balance
The fee balance
The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party
The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party
A flag indicating whether interest should be calculated for this loan account
For closed loans, the reason for closing the loan
For closed loans, the substatus for closing the loan
Application ID
Credit limit for the loan account
Interest rate for the loan account
(Relevant only for term loans) number of repayments for this loan
(Relevant only for term loans) Number of payment periods in which no repayments are expected
(Relevant only for term loans) Number of payment periods in which no principal repayments are expected, only interest will be charged during the grace period
Number of days between the repayment due date and when the account is considered in arrears
The following list contains the events in which Backbone will sent a webhook to a customer predefined URL:
repayment_created
: This event is triggered when a repayment transaction is created by Backbonerepayment_result
: This event is triggered when Backbone got a response from the collections providerdisbursement_result
: This event is triggered when Backbone got a response from the payments provider regarding a disbursementstatement_ready
: This event is triggered when a statement is ready for a revolving credit accountloan_is_late
: This event is triggered when a loan status changes to lateloan_is_arrears
: This event is triggered when a loan status changes to arrearsrepayment_due_day_soon
: This event is triggered 5 days before Repayment is dueapplication_processing_finished
: This event is triggered when an application processing has finished and decision was recorded
Time and date of webhook creation in Unix Timestamp
Json object for the specific event
Webhook ID
Repayment transaction ID
Transaction ID as captured on the collections provider
The projected processing date of the repayment
The repayment amount
Time and date of the creation of the transaction
The ID of the loan being repaid
Repayment transaction ID
Transaction ID as captured on the collections provider
The projected processing date of the repayment
The repayment amount
Time and date of the creation of the transaction
The ID of the loan being repaid
Status of the transaction
Repayment transaction ID
Transaction ID as captured on the collections provider
The projected processing date of the repayment
The repayment amount
Time and date of the creation of the transaction
The ID of the loan being repaid
Status of the transaction
Processed application ID
The status of the application
String containing the decision reason
Time and date that application processing finished
Backbone uses GoCardless as 3rd provider for collections. With GoCardless you can create direct debit mandates for end users, and baackbone will use these mandate to trigger repayments.
The flow to create a direct debit mandate is as follows:
- Start a direct debit creation flow - Provide the end user with a URL with this pattern ____
- The end user will then be directed to a secure form in order to set up a direct debit mandate
- Once the customer completed the mandate, they will be redirected to either the success or failue URLs that you provided Backbone with.
- If the mandate was completed successfuly, the mandate is then submitted to the end user’s bank
- Once the bank accepts and approved, Backbone will send a webhook for manadate creation
- This mandate will be used for every loan account created for the end user
As end users might change bank accounts, ot change their preferences regarding which bank account to use for repayments, backbone allows the creation and update of direct debit mandates. To perform such update, you would need to start a new mandate creation flow. Once a new mandate is set you can set this mandate as active for specific loans. Once all the loan accounts have a valid direct debit mandate, you can disable the ones that are no longer in use.