backbone-partner-api

https://app.backbone-software.com
Backbone Software developer guide

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:

  1. Create products
  2. Create an end user (borrower)
  3. Start the Direct Debit Mandate creation flow
  4. Create and update an application for an end user
  5. Set application to “complete” to trigger the risk engine
  6. Wait for the “Application Processing Finished” webhook
  7. Create loan account for approved application and specific product
  8. Disburse funds
  9. 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.

X-API-Key
string required
Applied to all operations

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

API Documentation
products
GET /api/v1/product/
POST /api/v1/product/
GET /api/v1/product/{id}/
POST /api/v1/product/{id}/publish/
Supported products - How they work

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
Get a list of available products
GET /api/v1/product/

Authentication

api_key

Get a list of available products

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
count
number

Number of results

Example:
46
next
string

URL for the next batch of the request

Example:
https://app.backbone-software.com/api/v1/product/?limit=20&offset=20
previous
string

URL for the previous batch of the request

Example:
None
results
Array
Object
id
string

Product ID

Example:
'ec0ebaf1-525b-48e8-9738-e6a592962d87'
type
string

The type of the product

Enumeration:
revolving_credit

Revolving credit account with monthly statements

simple_revolving_credit

Revolving credit without statements and minimial payments

is_draft
boolean

Status of the product configuration. Loan account cannot be created for draft products.

max_loan_amount
number

The upper limit of the credit amount for loan acounts that are created for this product

Example:
1000
default_loan_amount
number

A default amount to be used in case an amount is not provided when creating a loan account

Example:
600
max_interest_rate
number

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

Example:
15
default_interest_rate
number

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

Example:
10
name
string

A readable name for easy recognition of the product

Example:
Cash advance
installments
number

(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

Example:
6
default_grace_instalments
string

(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid

Example:
2
principal_repayment_grace
string

(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid

Example:
2
default_fees
Array
Object
name
string required

Readable name for the fee

Example:
"Disbursement Fee"
type
string required

Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.

Enumeration:
flat

For this type of fee, the figure in the amount field will be used to calculate the fee

percent

This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.

amount
number required

This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.

event
string required

On which event this fee should be applied for

Enumeration:
disbursement

Select this event if you wish that the fee will be automatically applied upon disbursement event

arrears

Select this event if you wish that the fee will be automatically applied upon the account going into arrears

default

Select this event if you wish that the fee will be automatically applied upon the account going into default

manual

Select this event if this fee will be applied using ad hoc API commands

arrears_tolerance
number

The number of days between account becoming late and account becoming in arrears

Example:
7
interest_calculation
string

(Relevant only for term loans) There are two types of schedule calculation

Enumeration:
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.

equal_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).

early_repayment_recalculation
string

(Relevant only for term loans)

Enumeration:
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.

repayment_holiday_scheduling
string

Should the repayment date be rescheduled due to it being a holiday

Enumeration:
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

calculate_interest_on_holidays
boolean
  • “True” means that the interest will be calculated on holidays
  • “Flase” means that on holidays, the interest will not be calculated
repayment_date_type
string
Enumeration:
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

repayment_date_period
number

if repayment_date_type is day_of_month then this field specifies the day

Example:
10
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
        }
    ]
}
Create a product
POST /api/v1/product/

Authentication

api_key

Create a product

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
type
string required

The type of the product

Enumeration:
revolving_credit

Revolving credit account with monthly statements

line_of_credit

Line of credit account, with no mimial monthly payment

equal_principal_repayment

A term loan where an equal amount of the principal is repaid in each intalment

equal_installment_repayment

A term loan where all the instalments have the same amount

max_loan_amount
number required

The upper limit of the credit amount for loan acounts that are created for this product

Example:
1000
default_loan_amount
number required

A default amount to be used in case an amount is not provided when creating a loan account

Example:
600
max_interest_rate
number required

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

Example:
15
default_interest_rate
number required

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

Example:
10
name
string required

A readable name for easy recognition of the product

Example:
Cash advance
installments
number

(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

Example:
6
default_grace_instalments
number

(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid

Default:
0
Example:
2
principal_repayment_grace
number

(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid

Default:
0
Example:
2
default_fees
Array
Object
name
string required

Readable name for the fee

Example:
"Disbursement Fee"
type
string required

Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.

Enumeration:
flat

For this type of fee, the figure in the amount field will be used to calculate the fee

percent

This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.

amount
number required

This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.

event
string required

On which event this fee should be applied for

Enumeration:
disbursement

Select this event if you wish that the fee will be automatically applied upon disbursement event

arrears

Select this event if you wish that the fee will be automatically applied upon the account going into arrears

default

Select this event if you wish that the fee will be automatically applied upon the account going into default

manual

Select this event if this fee will be applied using ad hoc API commands

arrears_tolerance
number required

The number of days between account becoming late and account becoming in arrears

Default:
7
Example:
7
interest_calculation
string

(Relevant only for term loans) There are two types of schedule calculation

Enumeration:
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.

equal_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).

Default:
equal_instalments
early_repayment_recalculation
string

(Relevant only for term loans)

Enumeration:
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.

Default:
reduced_instalments
repayment_holiday_scheduling
string

Should the repayment date be rescheduled due to it being a holiday

Enumeration:
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

Default:
last_business_day_before_the_day
calculate_interest_on_holidays
boolean
  • “True” means that the interest will be calculated on holidays
  • “Flase” means that on holidays, the interest will not be calculated
Default:
true
repayment_date_type
string
Enumeration:
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

Default:
last_day_of_month
repayment_date_period
number

if repayment_date_type is day_of_month then this field specifies the day

Example:
10

Responses

201 201

201

Body
application/json;charset=UTF-8
Object
id
string

Product ID

Example:
'ec0ebaf1-525b-48e8-9738-e6a592962d87'
type
string

The type of the product

Enumeration:
revolving_credit

Revolving credit account with monthly statements

simple_revolving_credit

Revolving credit without statements and minimial payments

is_draft
boolean

Status of the product configuration. Loan account cannot be created for draft products.

max_loan_amount
number

The upper limit of the credit amount for loan acounts that are created for this product

Example:
1000
default_loan_amount
number

A default amount to be used in case an amount is not provided when creating a loan account

Example:
600
max_interest_rate
number

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

Example:
15
default_interest_rate
number

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

Example:
10
name
string

A readable name for easy recognition of the product

Example:
Cash advance
installments
number

(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

Example:
6
default_grace_instalments
string

(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid

Example:
2
principal_repayment_grace
string

(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid

Example:
2
default_fees
Array
Object
name
string required

Readable name for the fee

Example:
"Disbursement Fee"
type
string required

Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.

Enumeration:
flat

For this type of fee, the figure in the amount field will be used to calculate the fee

percent

This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.

amount
number required

This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.

event
string required

On which event this fee should be applied for

Enumeration:
disbursement

Select this event if you wish that the fee will be automatically applied upon disbursement event

arrears

Select this event if you wish that the fee will be automatically applied upon the account going into arrears

default

Select this event if you wish that the fee will be automatically applied upon the account going into default

manual

Select this event if this fee will be applied using ad hoc API commands

arrears_tolerance
number

The number of days between account becoming late and account becoming in arrears

Example:
7
interest_calculation
string

(Relevant only for term loans) There are two types of schedule calculation

Enumeration:
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.

equal_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).

early_repayment_recalculation
string

(Relevant only for term loans)

Enumeration:
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.

repayment_holiday_scheduling
string

Should the repayment date be rescheduled due to it being a holiday

Enumeration:
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

calculate_interest_on_holidays
boolean
  • “True” means that the interest will be calculated on holidays
  • “Flase” means that on holidays, the interest will not be calculated
repayment_date_type
string
Enumeration:
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

repayment_date_period
number

if repayment_date_type is day_of_month then this field specifies the day

Example:
10
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
}
Get a specific product configuration
GET /api/v1/product/{id}/

Authentication

api_key

Get a specific product configuration

Path variables

id
string required

A UUID string identifying this Product.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
id
string

Product ID

Example:
'ec0ebaf1-525b-48e8-9738-e6a592962d87'
type
string

The type of the product

Enumeration:
revolving_credit

Revolving credit account with monthly statements

simple_revolving_credit

Revolving credit without statements and minimial payments

is_draft
boolean

Status of the product configuration. Loan account cannot be created for draft products.

max_loan_amount
number

The upper limit of the credit amount for loan acounts that are created for this product

Example:
1000
default_loan_amount
number

A default amount to be used in case an amount is not provided when creating a loan account

Example:
600
max_interest_rate
number

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

Example:
15
default_interest_rate
number

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

Example:
10
name
string

A readable name for easy recognition of the product

Example:
Cash advance
installments
number

(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

Example:
6
default_grace_instalments
string

(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid

Example:
2
principal_repayment_grace
string

(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid

Example:
2
default_fees
Array
Object
name
string required

Readable name for the fee

Example:
"Disbursement Fee"
type
string required

Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.

Enumeration:
flat

For this type of fee, the figure in the amount field will be used to calculate the fee

percent

This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.

amount
number required

This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.

event
string required

On which event this fee should be applied for

Enumeration:
disbursement

Select this event if you wish that the fee will be automatically applied upon disbursement event

arrears

Select this event if you wish that the fee will be automatically applied upon the account going into arrears

default

Select this event if you wish that the fee will be automatically applied upon the account going into default

manual

Select this event if this fee will be applied using ad hoc API commands

arrears_tolerance
number

The number of days between account becoming late and account becoming in arrears

Example:
7
interest_calculation
string

(Relevant only for term loans) There are two types of schedule calculation

Enumeration:
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.

equal_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).

early_repayment_recalculation
string

(Relevant only for term loans)

Enumeration:
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.

repayment_holiday_scheduling
string

Should the repayment date be rescheduled due to it being a holiday

Enumeration:
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

calculate_interest_on_holidays
boolean
  • “True” means that the interest will be calculated on holidays
  • “Flase” means that on holidays, the interest will not be calculated
repayment_date_type
string
Enumeration:
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

repayment_date_period
number

if repayment_date_type is day_of_month then this field specifies the day

Example:
10
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
}
Update the configuration of a specific product
PUT /api/v1/product/{id}/

Authentication

api_key

Update the configuration of a specific product

Path variables

id
string required

A UUID string identifying this Product.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
type
string

The type of the product

Enumeration:
revolving_credit
max_loan_amount
number

The upper limit of the credit amount for loan acounts that are created for this product

Example:
1000
default_loan_amount
number

A default amount to be used in case an amount is not provided when creating a loan account

Example:
600
max_interest_rate
number

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

Example:
15
default_interest_rate
number

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

Example:
10
name
string

A readable name for easy recognition of the product

Example:
Cash advance
installments
number

(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

Example:
6
default_grace_instalments
number

(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid

Example:
2
principal_repayment_grace
number

(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid

Example:
2
default_fees
Array
Object
name
string required

Readable name for the fee

Example:
"Disbursement Fee"
type
string required

Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.

Enumeration:
flat

For this type of fee, the figure in the amount field will be used to calculate the fee

percent

This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.

amount
number required

This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.

event
string required

On which event this fee should be applied for

Enumeration:
disbursement

Select this event if you wish that the fee will be automatically applied upon disbursement event

arrears

Select this event if you wish that the fee will be automatically applied upon the account going into arrears

default

Select this event if you wish that the fee will be automatically applied upon the account going into default

manual

Select this event if this fee will be applied using ad hoc API commands

arrears_tolerance
number

The number of days between account becoming late and account becoming in arrears

Example:
7
interest_calculation
string

(Relevant only for term loans) There are two types of schedule calculation

Enumeration:
equal_principal_payments
equal_instalments
early_repayment_recalculation
string

(Relevant only for term loans)

Enumeration:
from_last_instalment
reduced_instalments
repayment_holiday_scheduling
string

Should the repayment date be rescheduled due to it being a holiday

Enumeration:
last_business_day_before_the_day
first_business_day_after_the_day
on_day
calculate_interest_on_holidays
boolean
  • “True” means that the interest will be calculated on holidays
  • “Flase” means that on holidays, the interest will not be calculated
repayment_date_type
string
Enumeration:
day_of_month
last_day_of_month
first_day_of_month
repayment_date_period
number

if repayment_date_type is day_of_month then this field specifies the day

Example:
10

Responses

200 200

200

Update the configuration of a specific product
PATCH /api/v1/product/{id}/

Authentication

api_key

Update the configuration of a specific product

Path variables

id
string required

A UUID string identifying this Product.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
type
string

The type of the product

Enumeration:
revolving_credit
max_loan_amount
number

The upper limit of the credit amount for loan acounts that are created for this product

Example:
1000
default_loan_amount
number

A default amount to be used in case an amount is not provided when creating a loan account

Example:
600
max_interest_rate
number

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

Example:
15
default_interest_rate
number

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

Example:
10
name
string

A readable name for easy recognition of the product

Example:
Cash advance
installments
number

(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

Example:
6
default_grace_instalments
number

(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid

Example:
2
principal_repayment_grace
number

(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid

Example:
2
default_fees
Array
Object
name
string required

Readable name for the fee

Example:
"Disbursement Fee"
type
string required

Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.

Enumeration:
flat

For this type of fee, the figure in the amount field will be used to calculate the fee

percent

This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.

amount
number required

This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.

event
string required

On which event this fee should be applied for

Enumeration:
disbursement

Select this event if you wish that the fee will be automatically applied upon disbursement event

arrears

Select this event if you wish that the fee will be automatically applied upon the account going into arrears

default

Select this event if you wish that the fee will be automatically applied upon the account going into default

manual

Select this event if this fee will be applied using ad hoc API commands

arrears_tolerance
number

The number of days between account becoming late and account becoming in arrears

Example:
7
interest_calculation
string

(Relevant only for term loans) There are two types of schedule calculation

Enumeration:
equal_principal_payments
equal_instalments
early_repayment_recalculation
string

(Relevant only for term loans)

Enumeration:
from_last_instalment
reduced_instalments
repayment_holiday_scheduling
string

Should the repayment date be rescheduled due to it being a holiday

Enumeration:
last_business_day_before_the_day
first_business_day_after_the_day
on_day
calculate_interest_on_holidays
boolean
  • “True” means that the interest will be calculated on holidays
  • “Flase” means that on holidays, the interest will not be calculated
repayment_date_type
string
Enumeration:
day_of_month
last_day_of_month
first_day_of_month
repayment_date_period
number

if repayment_date_type is day_of_month then this field specifies the day

Example:
10

Responses

200 200

200

Delete the configuration of a specific product
DELETE /api/v1/product/{id}/

Authentication

api_key

Delete the configuration of a specific product Once a product is published it cannot be deleted

Path variables

id
string required

A UUID string identifying this Product.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

204 204

204

Method returns loan schedule. Based on date from product.
GET /api/v1/product/{id}/quote/

Authentication

api_key

Method returns loan schedule. Based on date from product.

Path variables

id
string required

A UUID string identifying this Product.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Publish a configured product
POST /api/v1/product/{id}/publish/

Authentication

api_key

Publish a configured product. Once a product is published it cannot be updated

Path variables

id
string required

A UUID string identifying this Product.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
type
string

The type of product you are trying to configure. Allowed values are: revolving_credit

max_loan_amount
number

The upper limit of the credit amount for loan acounts that are created for this product

default_loan_amount
number

A default amount to be used in case an amount is not provided when creating a loan account

max_interest_rate
number

Max Interest rate in % not real number i.e. 5% and not 0.05

default_interest_rate
number

Default Interest rate in % not real number i.e. 5% and not 0.05, if not not specified when creating the loan account

name
string required

A readable name for easy recognition of the product

installments
integer

(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

default_grace_instalments
integer

(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid

principal_repayment_grace
integer

(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid

default_fees
string

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’, }

arrears_tolerance
integer

The number of days between account becoming late and account becoming in arrears

interest_calculation
string

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).

early_repayment_recalculation
string

(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.

repayment_holiday_scheduling
string

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

calculate_interest_on_holidays
boolean

“True” means that the interest will be calculated on holidays

“Flase” means that on holidays, the interest will not be calculated

repayment_date_type
string

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

repayment_date_period
integer

If repayment_date_type is day_of_month then this field specifies the day

custom_field
string

Responses

201 201

201

endusers

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.

GET /api/v1/endusers/enduser/
POST /api/v1/endusers/enduser/
GET /api/v1/endusers/enduser/{company_pk}/assign-enduser/
POST /api/v1/endusers/enduser/{company_pk}/assign-enduser/
DELETE /api/v1/endusers/enduser/{company_pk}/assign-enduser/{id}/
GET /api/v1/endusers/enduser/{company_pk}/assign-enduser/{id}/
PATCH /api/v1/endusers/enduser/{company_pk}/assign-enduser/{id}/
PUT /api/v1/endusers/enduser/{company_pk}/assign-enduser/{id}/
GET /api/v1/endusers/enduser/{id}/
PATCH /api/v1/endusers/enduser/{id}/
PUT /api/v1/endusers/enduser/{id}/
GET /api/v1/endusers/enduser/{id}/loans/
GET /api/v1/endusers/enduser/{end_user_pk}/address/
POST /api/v1/endusers/enduser/{end_user_pk}/address/
DELETE /api/v1/endusers/enduser/{end_user_pk}/address/{id}/
GET /api/v1/endusers/enduser/{end_user_pk}/address/{id}/
PATCH /api/v1/endusers/enduser/{end_user_pk}/address/{id}/
PUT /api/v1/endusers/enduser/{end_user_pk}/address/{id}/
Get filtered list of end users
GET /api/v1/endusers/enduser/

Authentication

api_key

View set for managing end user account

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

id
string optional
created
string optional
updated
string optional
first_name
string optional
last_name
string optional
birth_date
string optional
address_line_1
string optional
address_line_2
string optional
address_line_3
string optional
city
string optional
postal_code
string optional
country
string optional
bank_account_number
string optional
sort_code
string optional
mobile_number
string optional
email
string optional

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
results
Array
Object
id
string
Example:
'ec0ebaf1-525b-48e8-9738-e6a592962d87'
first_name
string
last_name
string
birth_date
string
address_line_1
string
address_line_2
string
address_line_3
string
city
string
postal_code
string
country
string
bank_account_number
string
sort_code
string
mobile_number
string
email
string
type
string
Enumeration:
individual
limited
sole_trader
small_partnership
large_partnership
count
number

Number of results

next
string

URL for the next batch of the request

Example:
https://app.backbone-software.com/api/v1/endusers/enduser/?limit=20&offset=20
previous
string

URL for the previous batch of the request

Example:
None
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": ""
}
Create an enduser
POST /api/v1/endusers/enduser/

Authentication

api_key

View set for managing end user account

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json;charset=UTF-8
Object
first_name
string required
last_name
string required
birth_date
string required
address_line_1
string required
address_line_2
string required
address_line_3
string
city
string required
postal_code
string required
country
string
bank_account_number
string required
sort_code
string required
mobile_number
string
email
string
type
string required
Enumeration:
individual

An individual end user

limited

Limited Company

sole_trader

Sole Trader

small_partnership

Partnership of 3 individuals or less

large_partnership

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 201

201

Body
application/json;charset=UTF-8
Object
id
string
Example:
'ec0ebaf1-525b-48e8-9738-e6a592962d87'
first_name
string
last_name
string
birth_date
string
address_line_1
string
address_line_2
string
address_line_3
string
city
string
postal_code
string
country
string
bank_account_number
string
sort_code
string
mobile_number
string
email
string
type
string
Enumeration:
individual
limited
sole_trader
small_partnership
large_partnership
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": ""
}
Get a list of assigned users for a company
GET /api/v1/endusers/enduser/{company_pk}/assign-enduser/

Authentication

api_key

Override for getting csv file for query with filter and without pagination

Path variables

company_pk
string required

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Assign enduser to a company
POST /api/v1/endusers/enduser/{company_pk}/assign-enduser/

Authentication

api_key

Path variables

company_pk
string required

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
end_user
string required
role
string required

Responses

201 201
Delete an assigned user from a company
DELETE /api/v1/endusers/enduser/{company_pk}/assign-enduser/{id}/

Authentication

api_key

Path variables

id
string required
company_pk
string required

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

204 204
Get an assigned end user of a specific company
GET /api/v1/endusers/enduser/{company_pk}/assign-enduser/{id}/

Authentication

api_key

Path variables

id
string required
company_pk
string required

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Update an assigned user of the company
PATCH /api/v1/endusers/enduser/{company_pk}/assign-enduser/{id}/

Authentication

api_key

Path variables

id
string required
company_pk
string required

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
end_user
string
role
string

Responses

200 200
Update an assigned enduser to a company user
PUT /api/v1/endusers/enduser/{company_pk}/assign-enduser/{id}/

Authentication

api_key

Path variables

id
string required
company_pk
string required

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
end_user
string required
role
string required

Responses

200 200
Get specific end user
GET /api/v1/endusers/enduser/{id}/

Authentication

api_key

View set for managing end user account

Path variables

id
string required

A UUID string identifying this end user.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
id
string
Example:
'ec0ebaf1-525b-48e8-9738-e6a592962d87'
first_name
string
last_name
string
birth_date
string
address_line_1
string
address_line_2
string
address_line_3
string
city
string
postal_code
string
country
string
bank_account_number
string
sort_code
string
mobile_number
string
email
string
type
string
Enumeration:
individual
limited
sole_trader
small_partnership
large_partnership
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"
}
Update specific end user
PATCH /api/v1/endusers/enduser/{id}/

Authentication

api_key

View set for managing end user account

Path variables

id
string required

A UUID string identifying this end user.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
first_name
string
last_name
string
birth_date
string
address_line_1
string
address_line_2
string
address_line_3
string
city
string
postal_code
string
country
string
bank_account_number
string
sort_code
string
mobile_number
string
email
string

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
id
string
Example:
'ec0ebaf1-525b-48e8-9738-e6a592962d87'
first_name
string
last_name
string
birth_date
string
address_line_1
string
address_line_2
string
address_line_3
string
city
string
postal_code
string
country
string
bank_account_number
string
sort_code
string
mobile_number
string
email
string
type
string
Enumeration:
individual
limited
sole_trader
small_partnership
large_partnership
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": ""
}
Update a specific end user
PUT /api/v1/endusers/enduser/{id}/

Authentication

api_key

View set for managing end user account

Path variables

id
string required

A UUID string identifying this end user.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
first_name
string
last_name
string
birth_date
string
address_line_1
string
address_line_2
string
address_line_3
string
city
string
postal_code
string
country
string
bank_account_number
string
sort_code
string
mobile_number
string
email
string

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
id
string
Example:
'ec0ebaf1-525b-48e8-9738-e6a592962d87'
first_name
string
last_name
string
birth_date
string
address_line_1
string
address_line_2
string
address_line_3
string
city
string
postal_code
string
country
string
bank_account_number
string
sort_code
string
mobile_number
string
email
string
type
string
Enumeration:
individual
limited
sole_trader
small_partnership
large_partnership
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": ""
}
Get a list of loan accounts for a specific user
GET /api/v1/endusers/enduser/{id}/loans/

Authentication

api_key

View set for managing end user account

Path variables

id
string required

A UUID string identifying this end user.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Get address details for a specific end user
GET /api/v1/endusers/enduser/{end_user_pk}/address/

Authentication

api_key

Override for getting csv file for query with filter and without pagination

Path variables

end_user_pk
string required

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Create address details for end user
POST /api/v1/endusers/enduser/{end_user_pk}/address/

Authentication

api_key

View set for managing end user’s address

Path variables

end_user_pk
string required

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
address_line_1
string required
address_line_2
string required
address_line_3
string
city
string required
postal_code
string required
country
string
start_date
string required
end_date
string

Responses

201 201
Delete specific address details of an end user
DELETE /api/v1/endusers/enduser/{end_user_pk}/address/{id}/

Authentication

api_key

View set for managing end user’s address

Path variables

id
string required
end_user_pk
string required

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

204 204
Get specific address details of an end user
GET /api/v1/endusers/enduser/{end_user_pk}/address/{id}/

Authentication

api_key

View set for managing end user’s address

Path variables

id
string required
end_user_pk
string required

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Update specific address details of an end user
PATCH /api/v1/endusers/enduser/{end_user_pk}/address/{id}/

Authentication

api_key

View set for managing end user’s address

Path variables

id
string required
end_user_pk
string required

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
address_line_1
string
address_line_2
string
address_line_3
string
city
string
postal_code
string
country
string
start_date
string
end_date
string

Responses

200 200
Update specific address details of an end user
PUT /api/v1/endusers/enduser/{end_user_pk}/address/{id}/

Authentication

api_key

View set for managing end user’s address

Path variables

id
string required
end_user_pk
string required

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
address_line_1
string required
address_line_2
string required
address_line_3
string
city
string required
postal_code
string required
country
string
start_date
string required
end_date
string

Responses

200 200
applications

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.

POST /api/v1/application/
GET /api/v1/application/{id}/
GET /api/v1/application/
PUT /api/v1/application/{id}/
PATCH /api/v1/application/{id}/
POST /api/v1/application/{id}/complete/
POST /api/v1/application/{id}/reopen/
POST /api/v1/application/{id}/withdraw/
Create a new application
POST /api/v1/application/

Authentication

api_key

This endpoint is used to create a new application

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
product
string required

ID of the product the application is for

end_user
string required

ID of the applying end user

amount
string required

The amount of requested credit

installments
string

(Relevant only for term loans) Number of requested instalments. If not present, then the product default amount will be used.

rate
string

Specific interest for the end user. If not present, then the product default amount will be used.

custom_field
string

Json structure of additional custom fields

Responses

201 201

201

Body
application/json;charset=UTF-8
Object
id
string

Application ID

Example:
babca911-e530-47c1-b376-5d32f92cdeeb
status
string

Application status

Example:
incomplete
product
string

Product ID

Example:
0dade50e-f2aa-44a0-bbb8-230cc13ac8c
end_user
string

End user ID

Example:
3fc3122d-5d8d-49c1-b6a1-854fc4591a18
amount
string

Amount of requested credit

Example:
1000.00
installments
string

Number of installments

Example:
4
rate
string

Requested interest rate

Example:
10
reason
string

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": ""
}
Get specific application
GET /api/v1/application/{id}/

Authentication

api_key

This endpoint is used to retrieve specific application

Path variables

id
string required

A UUID string identifying this application.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
id
string

Application ID

Example:
babca911-e530-47c1-b376-5d32f92cdeeb
status
string

Application status

Example:
incomplete
product
string

Product ID

Example:
0dade50e-f2aa-44a0-bbb8-230cc13ac8c
end_user
string

End user ID

Example:
3fc3122d-5d8d-49c1-b6a1-854fc4591a18
amount
string

Amount of requested credit

Example:
1000.00
installments
string

Number of installments

Example:
4
rate
string

Requested interest rate

Example:
10
reason
string

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": ""
}
Get a filtered list of applications
GET /api/v1/application/

Authentication

api_key

This endpoint returns a list of application according to the filter used. By default returns 20 results, starting at offset 0.

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

id
string optional

Application ID

id__iexact
string optional
id__contains
string optional
id__icontains
string optional
id__in
string optional

Multiple values may be separated by commas.

created
string optional
created__lt
string optional
created__lte
string optional
created__gt
string optional
created__gte
string optional
created__in
string optional

Multiple values may be separated by commas.

created__year
number optional
created__year__lt
number optional
created__year__lte
number optional
created__year__gt
number optional
created__year__gte
number optional
created__year__in
number optional

Multiple values may be separated by commas.

created__month
number optional
created__month__lt
number optional
created__month__lte
number optional
created__month__gt
number optional
created__month__gte
number optional
created__month__in
number optional

Multiple values may be separated by commas.

created__day
number optional
created__day__lt
number optional
created__day__lte
number optional
created__day__gt
number optional
created__day__gte
number optional
created__day__in
number optional

Multiple values may be separated by commas.

updated
string optional
updated__lt
string optional
updated__lte
string optional
updated__gt
string optional
updated__gte
string optional
updated__in
string optional

Multiple values may be separated by commas.

updated__year
number optional
updated__year__lt
number optional
updated__year__lte
number optional
updated__year__gt
number optional
updated__year__gte
number optional
updated__year__in
number optional

Multiple values may be separated by commas.

updated__month
number optional
updated__month__lt
number optional
updated__month__lte
number optional
updated__month__gt
number optional
updated__month__gte
number optional
updated__month__in
number optional

Multiple values may be separated by commas.

updated__day
number optional
updated__day__lt
number optional
updated__day__lte
number optional
updated__day__gt
number optional
updated__day__gte
number optional
updated__day__in
number optional

Multiple values may be separated by commas.

status
string optional
status__iexact
string optional
status__contains
string optional
status__icontains
string optional
status__in
string optional

Multiple values may be separated by commas.

product
string optional
product__lt
string optional
product__lte
string optional
product__gt
string optional
product__gte
string optional
product__in
string optional

Multiple values may be separated by commas.

end_user
string optional
end_user__lt
string optional
end_user__lte
string optional
end_user__gt
string optional
end_user__gte
string optional
end_user__in
string optional

Multiple values may be separated by commas.

amount
number optional
amount__lt
number optional
amount__lte
number optional
amount__gt
number optional
amount__gte
number optional
amount__in
number optional

Multiple values may be separated by commas.

installments
number optional
installments__lt
number optional
installments__lte
number optional
installments__gt
number optional
installments__gte
number optional
installments__in
number optional

Multiple values may be separated by commas.

rate
number optional
rate__lt
number optional
rate__lte
number optional
rate__gt
number optional
rate__gte
number optional
rate__in
number optional

Multiple values may be separated by commas.

reason
string optional
reason__iexact
string optional
reason__contains
string optional
reason__icontains
string optional
reason__in
string optional

Multiple values may be separated by commas.

processing_finished_at
string optional
processing_finished_at__lt
string optional
processing_finished_at__lte
string optional
processing_finished_at__gt
string optional
processing_finished_at__gte
string optional
processing_finished_at__in
string optional

Multiple values may be separated by commas.

processing_finished_at__year
number optional
processing_finished_at__year__lt
number optional
processing_finished_at__year__lte
number optional
processing_finished_at__year__gt
number optional
processing_finished_at__year__gte
number optional
processing_finished_at__year__in
number optional

Multiple values may be separated by commas.

processing_finished_at__month
number optional
processing_finished_at__month__lt
number optional
processing_finished_at__month__lte
number optional
processing_finished_at__month__gt
number optional
processing_finished_at__month__gte
number optional
processing_finished_at__month__in
number optional

Multiple values may be separated by commas.

processing_finished_at__day
number optional
processing_finished_at__day__lt
number optional
processing_finished_at__day__lte
number optional
processing_finished_at__day__gt
number optional
processing_finished_at__day__gte
number optional
processing_finished_at__day__in
number optional

Multiple values may be separated by commas.

end_user__id
string optional
end_user__id__iexact
string optional
end_user__id__contains
string optional
end_user__id__icontains
string optional
end_user__id__in
string optional

Multiple values may be separated by commas.

end_user__created
string optional
end_user__created__lt
string optional
end_user__created__lte
string optional
end_user__created__gt
string optional
end_user__created__gte
string optional
end_user__created__in
string optional

Multiple values may be separated by commas.

end_user__created__year
number optional
end_user__created__year__lt
number optional
end_user__created__year__lte
number optional
end_user__created__year__gt
number optional
end_user__created__year__gte
number optional
end_user__created__year__in
number optional

Multiple values may be separated by commas.

end_user__created__month
number optional
end_user__created__month__lt
number optional
end_user__created__month__lte
number optional
end_user__created__month__gt
number optional
end_user__created__month__gte
number optional
end_user__created__month__in
number optional

Multiple values may be separated by commas.

end_user__created__day
number optional
end_user__created__day__lt
number optional
end_user__created__day__lte
number optional
end_user__created__day__gt
number optional
end_user__created__day__gte
number optional
end_user__created__day__in
number optional

Multiple values may be separated by commas.

end_user__updated
string optional
end_user__updated__lt
string optional
end_user__updated__lte
string optional
end_user__updated__gt
string optional
end_user__updated__gte
string optional
end_user__updated__in
string optional

Multiple values may be separated by commas.

end_user__updated__year
number optional
end_user__updated__year__lt
number optional
end_user__updated__year__lte
number optional
end_user__updated__year__gt
number optional
end_user__updated__year__gte
number optional
end_user__updated__year__in
number optional

Multiple values may be separated by commas.

end_user__updated__month
number optional
end_user__updated__month__lt
number optional
end_user__updated__month__lte
number optional
end_user__updated__month__gt
number optional
end_user__updated__month__gte
number optional
end_user__updated__month__in
number optional

Multiple values may be separated by commas.

end_user__updated__day
number optional
end_user__updated__day__lt
number optional
end_user__updated__day__lte
number optional
end_user__updated__day__gt
number optional
end_user__updated__day__gte
number optional
end_user__updated__day__in
number optional

Multiple values may be separated by commas.

end_user__first_name
string optional
end_user__first_name__iexact
string optional
end_user__first_name__contains
string optional
end_user__first_name__icontains
string optional
end_user__first_name__in
string optional

Multiple values may be separated by commas.

end_user__last_name
string optional
end_user__last_name__iexact
string optional
end_user__last_name__contains
string optional
end_user__last_name__icontains
string optional
end_user__last_name__in
string optional

Multiple values may be separated by commas.

end_user__birth_date
string optional
end_user__birth_date__lt
string optional
end_user__birth_date__lte
string optional
end_user__birth_date__gt
string optional
end_user__birth_date__gte
string optional
end_user__birth_date__in
string optional

Multiple values may be separated by commas.

end_user__birth_date__year
number optional
end_user__birth_date__year__lt
number optional
end_user__birth_date__year__lte
number optional
end_user__birth_date__year__gt
number optional
end_user__birth_date__year__gte
number optional
end_user__birth_date__year__in
number optional

Multiple values may be separated by commas.

end_user__birth_date__month
number optional
end_user__birth_date__month__lt
number optional
end_user__birth_date__month__lte
number optional
end_user__birth_date__month__gt
number optional
end_user__birth_date__month__gte
number optional
end_user__birth_date__month__in
number optional

Multiple values may be separated by commas.

end_user__birth_date__day
number optional
end_user__birth_date__day__lt
number optional
end_user__birth_date__day__lte
number optional
end_user__birth_date__day__gt
number optional
end_user__birth_date__day__gte
number optional
end_user__birth_date__day__in
number optional

Multiple values may be separated by commas.

end_user__address_line_1
string optional
end_user__address_line_1__iexact
string optional
end_user__address_line_1__contains
string optional
end_user__address_line_1__icontains
string optional
end_user__address_line_1__in
string optional

Multiple values may be separated by commas.

end_user__address_line_2
string optional
end_user__address_line_2__iexact
string optional
end_user__address_line_2__contains
string optional
end_user__address_line_2__icontains
string optional
end_user__address_line_2__in
string optional

Multiple values may be separated by commas.

end_user__address_line_3
string optional
end_user__address_line_3__iexact
string optional
end_user__address_line_3__contains
string optional
end_user__address_line_3__icontains
string optional
end_user__address_line_3__in
string optional

Multiple values may be separated by commas.

end_user__city
string optional
end_user__city__iexact
string optional
end_user__city__contains
string optional
end_user__city__icontains
string optional
end_user__city__in
string optional

Multiple values may be separated by commas.

end_user__postal_code
string optional
end_user__postal_code__iexact
string optional
end_user__postal_code__contains
string optional
end_user__postal_code__icontains
string optional
end_user__postal_code__in
string optional

Multiple values may be separated by commas.

end_user__country
string optional
end_user__country__iexact
string optional
end_user__country__contains
string optional
end_user__country__icontains
string optional
end_user__country__in
string optional

Multiple values may be separated by commas.

end_user__bank_account_number
string optional
end_user__bank_account_number__iexact
string optional
end_user__bank_account_number__contains
string optional
end_user__bank_account_number__icontains
string optional
end_user__bank_account_number__in
string optional

Multiple values may be separated by commas.

end_user__sort_code
string optional
end_user__sort_code__iexact
string optional
end_user__sort_code__contains
string optional
end_user__sort_code__icontains
string optional
end_user__sort_code__in
string optional

Multiple values may be separated by commas.

end_user__mobile_number
string optional
end_user__mobile_number__iexact
string optional
end_user__mobile_number__contains
string optional
end_user__mobile_number__icontains
string optional
end_user__mobile_number__in
string optional

Multiple values may be separated by commas.

end_user__email
string optional
end_user__email__iexact
string optional
end_user__email__contains
string optional
end_user__email__icontains
string optional
end_user__email__in
string optional

Multiple values may be separated by commas.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
count
number

Number of results in query

Example:
23
next
string

URL for the next batch of the request

Example:
https://app.backbone-software.com/api/v1/application/?limit=20&offset=20
previous
string

URL for the previous batch of the request

Example:
None
results
Array
Object
id
string

Application ID

Example:
babca911-e530-47c1-b376-5d32f92cdeeb
status
string

Application status

Example:
incomplete
product
string

Product ID

Example:
0dade50e-f2aa-44a0-bbb8-230cc13ac8c
end_user
string

End user ID

Example:
3fc3122d-5d8d-49c1-b6a1-854fc4591a18
amount
string

Amount of requested credit

Example:
1000.00
installments
string

Number of installments

Example:
4
rate
string

Requested interest rate

Example:
10
reason
string

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": ""
        }
    ]
}
Update a specific application
PUT /api/v1/application/{id}/

Authentication

api_key

View set for manipulation with applications.

Path variables

id
string required

A UUID string identifying this application.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
product
string required

ID of the product the application is for

end_user
string required

ID of the applying end user

amount
string required

The amount of requested credit

installments
string

(Relevant only for term loans) Number of requested instalments. If not present, then the product default amount will be used.

rate
string

Specific interest for the end user. If not present, then the product default amount will be used.

custom_field
string

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 200

200

Update a specific application
PATCH /api/v1/application/{id}/

Authentication

api_key

View set for manipulation with applications.

Path variables

id
string required

A UUID string identifying this application.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
product
string required

ID of the product the application is for

end_user
string required

ID of the applying end user

amount
string required

The amount of requested credit

installments
string

(Relevant only for term loans) Number of requested instalments. If not present, then the product default amount will be used.

rate
string

Specific interest for the end user. If not present, then the product default amount will be used.

custom_field
string

Json structure of additional custom fields

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
id
string

Application ID

Example:
babca911-e530-47c1-b376-5d32f92cdeeb
status
string

Application status

Example:
incomplete
product
string

Product ID

Example:
0dade50e-f2aa-44a0-bbb8-230cc13ac8c
end_user
string

End user ID

Example:
3fc3122d-5d8d-49c1-b6a1-854fc4591a18
amount
string

Amount of requested credit

Example:
1000.00
installments
string

Number of installments

Example:
4
rate
string

Requested interest rate

Example:
10
reason
string

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": ""
}
Set application status to complete
POST /api/v1/application/{id}/complete/

Authentication

api_key

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

id
string required

A UUID string identifying this application.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
id
string

Application ID

Example:
babca911-e530-47c1-b376-5d32f92cdeeb
status
string

Application status

Example:
incomplete
product
string

Product ID

Example:
0dade50e-f2aa-44a0-bbb8-230cc13ac8c
end_user
string

End user ID

Example:
3fc3122d-5d8d-49c1-b6a1-854fc4591a18
amount
string

Amount of requested credit

Example:
1000.00
installments
string

Number of installments

Example:
4
rate
string

Requested interest rate

Example:
10
reason
string

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": ""
}
Reopen application
POST /api/v1/application/{id}/reopen/

Authentication

api_key

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

id
string required

A UUID string identifying this application.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
id
string

Application ID

Example:
babca911-e530-47c1-b376-5d32f92cdeeb
status
string

Application status

Example:
incomplete
product
string

Product ID

Example:
0dade50e-f2aa-44a0-bbb8-230cc13ac8c
end_user
string

End user ID

Example:
3fc3122d-5d8d-49c1-b6a1-854fc4591a18
amount
string

Amount of requested credit

Example:
1000.00
installments
string

Number of installments

Example:
4
rate
string

Requested interest rate

Example:
10
reason
string

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": ""
}
Set application status to withdrawan
POST /api/v1/application/{id}/withdraw/

Authentication

api_key

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

id
string required

A UUID string identifying this application.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
id
string

Application ID

Example:
babca911-e530-47c1-b376-5d32f92cdeeb
status
string

Application status

Example:
incomplete
product
string

Product ID

Example:
0dade50e-f2aa-44a0-bbb8-230cc13ac8c
end_user
string

End user ID

Example:
3fc3122d-5d8d-49c1-b6a1-854fc4591a18
amount
string

Amount of requested credit

Example:
1000.00
installments
string

Number of installments

Example:
4
rate
string

Requested interest rate

Example:
10
reason
string

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": ""
}
loans
POST /api/v1/loan/
GET /api/v1/loan/{id}/
POST /api/v1/loan/{id}/close/
POST /api/v1/loan/{id}/make_arrears/
POST /api/v1/loan/{id}/make_default/
POST /api/v1/loan/{id}/stop_interest_calculation/
POST /api/v1/loan/{id}/start_interest_calculation/
POST /api/v1/loan/{id}/cancel/
POST /api/v1/loan/{id}/set_go_cardless_mandate/
Get a filtered list of loan accounts
GET /api/v1/loan/

Authentication

api_key

This endpoint returns a list of application according to the filter used. By default returns 20 results, starting at offset 0.

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

id
string optional
id__iexact
string optional
id__contains
string optional
id__icontains
string optional
id__in
string optional

Multiple values may be separated by commas.

created
string optional
created__lt
string optional
created__lte
string optional
created__gt
string optional
created__gte
string optional
created__in
string optional

Multiple values may be separated by commas.

created__year
number optional
created__year__lt
number optional
created__year__lte
number optional
created__year__gt
number optional
created__year__gte
number optional
created__year__in
number optional

Multiple values may be separated by commas.

created__month
number optional
created__month__lt
number optional
created__month__lte
number optional
created__month__gt
number optional
created__month__gte
number optional
created__month__in
number optional

Multiple values may be separated by commas.

created__day
number optional
created__day__lt
number optional
created__day__lte
number optional
created__day__gt
number optional
created__day__gte
number optional
created__day__in
number optional

Multiple values may be separated by commas.

updated
string optional
updated__lt
string optional
updated__lte
string optional
updated__gt
string optional
updated__gte
string optional
updated__in
string optional

Multiple values may be separated by commas.

updated__year
number optional
updated__year__lt
number optional
updated__year__lte
number optional
updated__year__gt
number optional
updated__year__gte
number optional
updated__year__in
number optional

Multiple values may be separated by commas.

updated__month
number optional
updated__month__lt
number optional
updated__month__lte
number optional
updated__month__gt
number optional
updated__month__gte
number optional
updated__month__in
number optional

Multiple values may be separated by commas.

updated__day
number optional
updated__day__lt
number optional
updated__day__lte
number optional
updated__day__gt
number optional
updated__day__gte
number optional
updated__day__in
number optional

Multiple values may be separated by commas.

application
string optional
application__lt
string optional
application__lte
string optional
application__gt
string optional
application__gte
string optional
application__in
string optional

Multiple values may be separated by commas.

end_user
string optional
end_user__lt
string optional
end_user__lte
string optional
end_user__gt
string optional
end_user__gte
string optional
end_user__in
string optional

Multiple values may be separated by commas.

amount
number optional
amount__lt
number optional
amount__lte
number optional
amount__gt
number optional
amount__gte
number optional
amount__in
number optional

Multiple values may be separated by commas.

interest_rate
number optional
interest_rate__lt
number optional
interest_rate__lte
number optional
interest_rate__gt
number optional
interest_rate__gte
number optional
interest_rate__in
number optional

Multiple values may be separated by commas.

installments
number optional
installments__lt
number optional
installments__lte
number optional
installments__gt
number optional
installments__gte
number optional
installments__in
number optional

Multiple values may be separated by commas.

grace_instalments
number optional
grace_instalments__lt
number optional
grace_instalments__lte
number optional
grace_instalments__gt
number optional
grace_instalments__gte
number optional
grace_instalments__in
number optional

Multiple values may be separated by commas.

principal_repayment_grace
number optional
principal_repayment_grace__lt
number optional
principal_repayment_grace__lte
number optional
principal_repayment_grace__gt
number optional
principal_repayment_grace__gte
number optional
principal_repayment_grace__in
number optional

Multiple values may be separated by commas.

arrears_tolerance
number optional
arrears_tolerance__lt
number optional
arrears_tolerance__lte
number optional
arrears_tolerance__gt
number optional
arrears_tolerance__gte
number optional
arrears_tolerance__in
number optional

Multiple values may be separated by commas.

status
string optional
status__iexact
string optional
status__contains
string optional
status__icontains
string optional
status__in
string optional

Multiple values may be separated by commas.

principal
number optional
principal__lt
number optional
principal__lte
number optional
principal__gt
number optional
principal__gte
number optional
principal__in
number optional

Multiple values may be separated by commas.

interest
number optional
interest__lt
number optional
interest__lte
number optional
interest__gt
number optional
interest__gte
number optional
interest__in
number optional

Multiple values may be separated by commas.

fee
number optional
fee__lt
number optional
fee__lte
number optional
fee__gt
number optional
fee__gte
number optional
fee__in
number optional

Multiple values may be separated by commas.

pending_principal
number optional
pending_principal__lt
number optional
pending_principal__lte
number optional
pending_principal__gt
number optional
pending_principal__gte
number optional
pending_principal__in
number optional

Multiple values may be separated by commas.

pending_interest
number optional
pending_interest__lt
number optional
pending_interest__lte
number optional
pending_interest__gt
number optional
pending_interest__gte
number optional
pending_interest__in
number optional

Multiple values may be separated by commas.

pending_fee
number optional
pending_fee__lt
number optional
pending_fee__lte
number optional
pending_fee__gt
number optional
pending_fee__gte
number optional
pending_fee__in
number optional

Multiple values may be separated by commas.

last_transaction
string optional
last_transaction__lt
string optional
last_transaction__lte
string optional
last_transaction__gt
string optional
last_transaction__gte
string optional
last_transaction__in
string optional

Multiple values may be separated by commas.

close_substatus
string optional
close_substatus__iexact
string optional
close_substatus__contains
string optional
close_substatus__icontains
string optional
close_substatus__in
string optional

Multiple values may be separated by commas.

close_reason
string optional
close_reason__iexact
string optional
close_reason__contains
string optional
close_reason__icontains
string optional
close_reason__in
string optional

Multiple values may be separated by commas.

business_days_in_period
number optional
business_days_in_period__lt
number optional
business_days_in_period__lte
number optional
business_days_in_period__gt
number optional
business_days_in_period__gte
number optional
business_days_in_period__in
number optional

Multiple values may be separated by commas.

end_user__id
string optional
end_user__id__iexact
string optional
end_user__id__contains
string optional
end_user__id__icontains
string optional
end_user__id__in
string optional

Multiple values may be separated by commas.

end_user__created
string optional
end_user__created__lt
string optional
end_user__created__lte
string optional
end_user__created__gt
string optional
end_user__created__gte
string optional
end_user__created__in
string optional

Multiple values may be separated by commas.

end_user__created__year
number optional
end_user__created__year__lt
number optional
end_user__created__year__lte
number optional
end_user__created__year__gt
number optional
end_user__created__year__gte
number optional
end_user__created__year__in
number optional

Multiple values may be separated by commas.

end_user__created__month
number optional
end_user__created__month__lt
number optional
end_user__created__month__lte
number optional
end_user__created__month__gt
number optional
end_user__created__month__gte
number optional
end_user__created__month__in
number optional

Multiple values may be separated by commas.

end_user__created__day
number optional
end_user__created__day__lt
number optional
end_user__created__day__lte
number optional
end_user__created__day__gt
number optional
end_user__created__day__gte
number optional
end_user__created__day__in
number optional

Multiple values may be separated by commas.

end_user__updated
string optional
end_user__updated__lt
string optional
end_user__updated__lte
string optional
end_user__updated__gt
string optional
end_user__updated__gte
string optional
end_user__updated__in
string optional

Multiple values may be separated by commas.

end_user__updated__year
number optional
end_user__updated__year__lt
number optional
end_user__updated__year__lte
number optional
end_user__updated__year__gt
number optional
end_user__updated__year__gte
number optional
end_user__updated__year__in
number optional

Multiple values may be separated by commas.

end_user__updated__month
number optional
end_user__updated__month__lt
number optional
end_user__updated__month__lte
number optional
end_user__updated__month__gt
number optional
end_user__updated__month__gte
number optional
end_user__updated__month__in
number optional

Multiple values may be separated by commas.

end_user__updated__day
number optional
end_user__updated__day__lt
number optional
end_user__updated__day__lte
number optional
end_user__updated__day__gt
number optional
end_user__updated__day__gte
number optional
end_user__updated__day__in
number optional

Multiple values may be separated by commas.

end_user__first_name
string optional
end_user__first_name__iexact
string optional
end_user__first_name__contains
string optional
end_user__first_name__icontains
string optional
end_user__first_name__in
string optional

Multiple values may be separated by commas.

end_user__last_name
string optional
end_user__last_name__iexact
string optional
end_user__last_name__contains
string optional
end_user__last_name__icontains
string optional
end_user__last_name__in
string optional

Multiple values may be separated by commas.

end_user__birth_date
string optional
end_user__birth_date__lt
string optional
end_user__birth_date__lte
string optional
end_user__birth_date__gt
string optional
end_user__birth_date__gte
string optional
end_user__birth_date__in
string optional

Multiple values may be separated by commas.

end_user__birth_date__year
number optional
end_user__birth_date__year__lt
number optional
end_user__birth_date__year__lte
number optional
end_user__birth_date__year__gt
number optional
end_user__birth_date__year__gte
number optional
end_user__birth_date__year__in
number optional

Multiple values may be separated by commas.

end_user__birth_date__month
number optional
end_user__birth_date__month__lt
number optional
end_user__birth_date__month__lte
number optional
end_user__birth_date__month__gt
number optional
end_user__birth_date__month__gte
number optional
end_user__birth_date__month__in
number optional

Multiple values may be separated by commas.

end_user__birth_date__day
number optional
end_user__birth_date__day__lt
number optional
end_user__birth_date__day__lte
number optional
end_user__birth_date__day__gt
number optional
end_user__birth_date__day__gte
number optional
end_user__birth_date__day__in
number optional

Multiple values may be separated by commas.

end_user__address_line_1
string optional
end_user__address_line_1__iexact
string optional
end_user__address_line_1__contains
string optional
end_user__address_line_1__icontains
string optional
end_user__address_line_1__in
string optional

Multiple values may be separated by commas.

end_user__address_line_2
string optional
end_user__address_line_2__iexact
string optional
end_user__address_line_2__contains
string optional
end_user__address_line_2__icontains
string optional
end_user__address_line_2__in
string optional

Multiple values may be separated by commas.

end_user__address_line_3
string optional
end_user__address_line_3__iexact
string optional
end_user__address_line_3__contains
string optional
end_user__address_line_3__icontains
string optional
end_user__address_line_3__in
string optional

Multiple values may be separated by commas.

end_user__city
string optional
end_user__city__iexact
string optional
end_user__city__contains
string optional
end_user__city__icontains
string optional
end_user__city__in
string optional

Multiple values may be separated by commas.

end_user__postal_code
string optional
end_user__postal_code__iexact
string optional
end_user__postal_code__contains
string optional
end_user__postal_code__icontains
string optional
end_user__postal_code__in
string optional

Multiple values may be separated by commas.

end_user__country
string optional
end_user__country__iexact
string optional
end_user__country__contains
string optional
end_user__country__icontains
string optional
end_user__country__in
string optional

Multiple values may be separated by commas.

end_user__bank_account_number
string optional
end_user__bank_account_number__iexact
string optional
end_user__bank_account_number__contains
string optional
end_user__bank_account_number__icontains
string optional
end_user__bank_account_number__in
string optional

Multiple values may be separated by commas.

end_user__sort_code
string optional
end_user__sort_code__iexact
string optional
end_user__sort_code__contains
string optional
end_user__sort_code__icontains
string optional
end_user__sort_code__in
string optional

Multiple values may be separated by commas.

end_user__mobile_number
string optional
end_user__mobile_number__iexact
string optional
end_user__mobile_number__contains
string optional
end_user__mobile_number__icontains
string optional
end_user__mobile_number__in
string optional

Multiple values may be separated by commas.

end_user__email
string optional
end_user__email__iexact
string optional
end_user__email__contains
string optional
end_user__email__icontains
string optional
end_user__email__in
string optional

Multiple values may be separated by commas.

application__id
string optional
application__id__iexact
string optional
application__id__contains
string optional
application__id__icontains
string optional
application__id__in
string optional

Multiple values may be separated by commas.

application__created
string optional
application__created__lt
string optional
application__created__lte
string optional
application__created__gt
string optional
application__created__gte
string optional
application__created__in
string optional

Multiple values may be separated by commas.

application__created__year
number optional
application__created__year__lt
number optional
application__created__year__lte
number optional
application__created__year__gt
number optional
application__created__year__gte
number optional
application__created__year__in
number optional

Multiple values may be separated by commas.

application__created__month
number optional
application__created__month__lt
number optional
application__created__month__lte
number optional
application__created__month__gt
number optional
application__created__month__gte
number optional
application__created__month__in
number optional

Multiple values may be separated by commas.

application__created__day
number optional
application__created__day__lt
number optional
application__created__day__lte
number optional
application__created__day__gt
number optional
application__created__day__gte
number optional
application__created__day__in
number optional

Multiple values may be separated by commas.

application__updated
string optional
application__updated__lt
string optional
application__updated__lte
string optional
application__updated__gt
string optional
application__updated__gte
string optional
application__updated__in
string optional

Multiple values may be separated by commas.

application__updated__year
number optional
application__updated__year__lt
number optional
application__updated__year__lte
number optional
application__updated__year__gt
number optional
application__updated__year__gte
number optional
application__updated__year__in
number optional

Multiple values may be separated by commas.

application__updated__month
number optional
application__updated__month__lt
number optional
application__updated__month__lte
number optional
application__updated__month__gt
number optional
application__updated__month__gte
number optional
application__updated__month__in
number optional

Multiple values may be separated by commas.

application__updated__day
number optional
application__updated__day__lt
number optional
application__updated__day__lte
number optional
application__updated__day__gt
number optional
application__updated__day__gte
number optional
application__updated__day__in
number optional

Multiple values may be separated by commas.

application__status
string optional
application__status__iexact
string optional
application__status__contains
string optional
application__status__icontains
string optional
application__status__in
string optional

Multiple values may be separated by commas.

application__product
string optional
application__product__lt
string optional
application__product__lte
string optional
application__product__gt
string optional
application__product__gte
string optional
application__product__in
string optional

Multiple values may be separated by commas.

application__end_user
string optional
application__end_user__lt
string optional
application__end_user__lte
string optional
application__end_user__gt
string optional
application__end_user__gte
string optional
application__end_user__in
string optional

Multiple values may be separated by commas.

application__amount
number optional
application__amount__lt
number optional
application__amount__lte
number optional
application__amount__gt
number optional
application__amount__gte
number optional
application__amount__in
number optional

Multiple values may be separated by commas.

application__installments
number optional
application__installments__lt
number optional
application__installments__lte
number optional
application__installments__gt
number optional
application__installments__gte
number optional
application__installments__in
number optional

Multiple values may be separated by commas.

application__rate
number optional
application__rate__lt
number optional
application__rate__lte
number optional
application__rate__gt
number optional
application__rate__gte
number optional
application__rate__in
number optional

Multiple values may be separated by commas.

application__reason
string optional
application__reason__iexact
string optional
application__reason__contains
string optional
application__reason__icontains
string optional
application__reason__in
string optional

Multiple values may be separated by commas.

application__processing_finished_at
string optional
application__processing_finished_at__lt
string optional
application__processing_finished_at__lte
string optional
application__processing_finished_at__gt
string optional
application__processing_finished_at__gte
string optional
application__processing_finished_at__in
string optional

Multiple values may be separated by commas.

application__processing_finished_at__year
number optional
application__processing_finished_at__year__lt
number optional
application__processing_finished_at__year__lte
number optional
application__processing_finished_at__year__gt
number optional
application__processing_finished_at__year__gte
number optional
application__processing_finished_at__year__in
number optional

Multiple values may be separated by commas.

application__processing_finished_at__month
number optional
application__processing_finished_at__month__lt
number optional
application__processing_finished_at__month__lte
number optional
application__processing_finished_at__month__gt
number optional
application__processing_finished_at__month__gte
number optional
application__processing_finished_at__month__in
number optional

Multiple values may be separated by commas.

application__processing_finished_at__day
number optional
application__processing_finished_at__day__lt
number optional
application__processing_finished_at__day__lte
number optional
application__processing_finished_at__day__gt
number optional
application__processing_finished_at__day__gte
number optional
application__processing_finished_at__day__in
number optional

Multiple values may be separated by commas.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
count
string

Number of results in query

next
string

URL for the next batch of the request

Example:
https://app.backbone-software.com/api/v1/loan/?limit=20&offset=20
previous
string

URL for the previous batch of the request

Example:
None
results
Array
Object
id
string

Loan ID

Example:
6f025741-3a92-4e28-8869-b362b51d6b5f
application
string

Application ID of the application for which this loan account is created

Example:
4eb8aa9c-fb91-4848-bd73-cf744a53f2ce
end_user
string

End user ID of the borrower of this loan account

Example:
aac5091e-be2a-4e41-b814-8726ca364853
amount
number

The credit limit of this loan account

rate
number

Interest rate for this loan account

installments
number

(Relevant only for term loans) number of repayments for this loan

grace_instalments
number

(Relevant only for term loans) Number of payment periods in which no repayments are expected

principal_repayment_grace
number

(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

arrears_tolerance
number

Number of days between the repayment due date and when the account is considered in arrears

status
string

The status of the loan account

Enumeration:
inactive
active
repaid
late
arrears
default
closed
principal
number

The principal balance

interest
number

The interest balance

fee
number

The fee balance

pending_principal
number

The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_interest
number

The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_fee
string

The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party

is_interest_calculation_enabled
boolean

A flag indicating whether interest should be calculated for this loan account

close_reason
string

For closed loans, the reason for closing the loan

close_substatus
string

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": ""
        }
    ]
}
Create a new loan account
POST /api/v1/loan/

Authentication

api_key

This endpoint is used to create a new loan account.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
application
string required

Application ID

amount
number

Credit limit for the loan account

rate
number

Interest rate for the loan account

installments
number

(Relevant only for term loans) number of repayments for this loan

grace_instalments
number

(Relevant only for term loans) Number of payment periods in which no repayments are expected

principal_repayment_grace
number

(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

arrears_tolerance
number

Number of days between the repayment due date and when the account is considered in arrears

Responses

201 201

201

Body
application/json;charset=UTF-8
Object
id
string

Loan ID

Example:
6f025741-3a92-4e28-8869-b362b51d6b5f
application
string

Application ID of the application for which this loan account is created

Example:
4eb8aa9c-fb91-4848-bd73-cf744a53f2ce
end_user
string

End user ID of the borrower of this loan account

Example:
aac5091e-be2a-4e41-b814-8726ca364853
amount
number

The credit limit of this loan account

rate
number

Interest rate for this loan account

installments
number

(Relevant only for term loans) number of repayments for this loan

grace_instalments
number

(Relevant only for term loans) Number of payment periods in which no repayments are expected

principal_repayment_grace
number

(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

arrears_tolerance
number

Number of days between the repayment due date and when the account is considered in arrears

status
string

The status of the loan account

Enumeration:
inactive
active
repaid
late
arrears
default
closed
principal
number

The principal balance

interest
number

The interest balance

fee
number

The fee balance

pending_principal
number

The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_interest
number

The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_fee
string

The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party

is_interest_calculation_enabled
boolean

A flag indicating whether interest should be calculated for this loan account

close_reason
string

For closed loans, the reason for closing the loan

close_substatus
string

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": ""
}
Get a specific loan account
GET /api/v1/loan/{id}/

Authentication

api_key

This endpoint is used to get a specific loan account with ID {id}

Path variables

id
string required

A UUID string identifying this Loan account.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Body
application/json;charset=UTF-8
Object
id
string

Loan ID

Example:
6f025741-3a92-4e28-8869-b362b51d6b5f
application
string

Application ID of the application for which this loan account is created

Example:
4eb8aa9c-fb91-4848-bd73-cf744a53f2ce
end_user
string

End user ID of the borrower of this loan account

Example:
aac5091e-be2a-4e41-b814-8726ca364853
amount
number

The credit limit of this loan account

rate
number

Interest rate for this loan account

installments
number

(Relevant only for term loans) number of repayments for this loan

grace_instalments
number

(Relevant only for term loans) Number of payment periods in which no repayments are expected

principal_repayment_grace
number

(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

arrears_tolerance
number

Number of days between the repayment due date and when the account is considered in arrears

status
string

The status of the loan account

Enumeration:
inactive
active
repaid
late
arrears
default
closed
principal
number

The principal balance

interest
number

The interest balance

fee
number

The fee balance

pending_principal
number

The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_interest
number

The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_fee
string

The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party

is_interest_calculation_enabled
boolean

A flag indicating whether interest should be calculated for this loan account

close_reason
string

For closed loans, the reason for closing the loan

close_substatus
string

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": ""
}
Close a specific loan account
POST /api/v1/loan/{id}/close/

Authentication

api_key

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

id
string required

A UUID string identifying this Loan account.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
close_reason
string required

A readable string for the closing reason

close_substatus
string required

The valid substatuses are paid_in_full or written_off

Enumeration:
paid_in_full
written_off

Responses

201 201

201

Body
application/json;charset=UTF-8
Object
id
string

Loan ID

Example:
6f025741-3a92-4e28-8869-b362b51d6b5f
application
string

Application ID of the application for which this loan account is created

Example:
4eb8aa9c-fb91-4848-bd73-cf744a53f2ce
end_user
string

End user ID of the borrower of this loan account

Example:
aac5091e-be2a-4e41-b814-8726ca364853
amount
number

The credit limit of this loan account

rate
number

Interest rate for this loan account

installments
number

(Relevant only for term loans) number of repayments for this loan

grace_instalments
number

(Relevant only for term loans) Number of payment periods in which no repayments are expected

principal_repayment_grace
number

(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

arrears_tolerance
number

Number of days between the repayment due date and when the account is considered in arrears

status
string

The status of the loan account

Enumeration:
inactive
active
repaid
late
arrears
default
closed
principal
number

The principal balance

interest
number

The interest balance

fee
number

The fee balance

pending_principal
number

The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_interest
number

The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_fee
string

The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party

is_interest_calculation_enabled
boolean

A flag indicating whether interest should be calculated for this loan account

close_reason
string

For closed loans, the reason for closing the loan

close_substatus
string

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"
}
Set loan account status to "in arrears"
POST /api/v1/loan/{id}/make_arrears/

Authentication

api_key

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

id
string required

A UUID string identifying this Loan account.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json

Responses

201 201

201

Body
application/json;charset=UTF-8
Object
id
string

Loan ID

Example:
6f025741-3a92-4e28-8869-b362b51d6b5f
application
string

Application ID of the application for which this loan account is created

Example:
4eb8aa9c-fb91-4848-bd73-cf744a53f2ce
end_user
string

End user ID of the borrower of this loan account

Example:
aac5091e-be2a-4e41-b814-8726ca364853
amount
number

The credit limit of this loan account

rate
number

Interest rate for this loan account

installments
number

(Relevant only for term loans) number of repayments for this loan

grace_instalments
number

(Relevant only for term loans) Number of payment periods in which no repayments are expected

principal_repayment_grace
number

(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

arrears_tolerance
number

Number of days between the repayment due date and when the account is considered in arrears

status
string

The status of the loan account

Enumeration:
inactive
active
repaid
late
arrears
default
closed
principal
number

The principal balance

interest
number

The interest balance

fee
number

The fee balance

pending_principal
number

The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_interest
number

The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_fee
string

The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party

is_interest_calculation_enabled
boolean

A flag indicating whether interest should be calculated for this loan account

close_reason
string

For closed loans, the reason for closing the loan

close_substatus
string

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": ""
}
Set loan account status to "default"
POST /api/v1/loan/{id}/make_default/

Authentication

api_key

This endpoint is used to manually set the account status to default.

Path variables

id
string required

A UUID string identifying this Loan account.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json

Responses

201 201

201

Body
application/json;charset=UTF-8
Object
id
string

Loan ID

Example:
6f025741-3a92-4e28-8869-b362b51d6b5f
application
string

Application ID of the application for which this loan account is created

Example:
4eb8aa9c-fb91-4848-bd73-cf744a53f2ce
end_user
string

End user ID of the borrower of this loan account

Example:
aac5091e-be2a-4e41-b814-8726ca364853
amount
number

The credit limit of this loan account

rate
number

Interest rate for this loan account

installments
number

(Relevant only for term loans) number of repayments for this loan

grace_instalments
number

(Relevant only for term loans) Number of payment periods in which no repayments are expected

principal_repayment_grace
number

(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

arrears_tolerance
number

Number of days between the repayment due date and when the account is considered in arrears

status
string

The status of the loan account

Enumeration:
inactive
active
repaid
late
arrears
default
closed
principal
number

The principal balance

interest
number

The interest balance

fee
number

The fee balance

pending_principal
number

The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_interest
number

The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_fee
string

The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party

is_interest_calculation_enabled
boolean

A flag indicating whether interest should be calculated for this loan account

close_reason
string

For closed loans, the reason for closing the loan

close_substatus
string

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": ""
}
Disable interest calculation for a loan account
POST /api/v1/loan/{id}/stop_interest_calculation/

Authentication

api_key

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

id
string required

A UUID string identifying this Loan account.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json

Responses

201 201

201

Body
application/json;charset=UTF-8
Object
id
string

Loan ID

Example:
6f025741-3a92-4e28-8869-b362b51d6b5f
application
string

Application ID of the application for which this loan account is created

Example:
4eb8aa9c-fb91-4848-bd73-cf744a53f2ce
end_user
string

End user ID of the borrower of this loan account

Example:
aac5091e-be2a-4e41-b814-8726ca364853
amount
number

The credit limit of this loan account

rate
number

Interest rate for this loan account

installments
number

(Relevant only for term loans) number of repayments for this loan

grace_instalments
number

(Relevant only for term loans) Number of payment periods in which no repayments are expected

principal_repayment_grace
number

(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

arrears_tolerance
number

Number of days between the repayment due date and when the account is considered in arrears

status
string

The status of the loan account

Enumeration:
inactive
active
repaid
late
arrears
default
closed
principal
number

The principal balance

interest
number

The interest balance

fee
number

The fee balance

pending_principal
number

The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_interest
number

The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_fee
string

The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party

is_interest_calculation_enabled
boolean

A flag indicating whether interest should be calculated for this loan account

close_reason
string

For closed loans, the reason for closing the loan

close_substatus
string

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": ""
}
Enable interest calculation for a loan account
POST /api/v1/loan/{id}/start_interest_calculation/

Authentication

api_key

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

id
string required

A UUID string identifying this Loan account.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json

Responses

201 201

201

Body
application/json;charset=UTF-8
Object
id
string

Loan ID

Example:
6f025741-3a92-4e28-8869-b362b51d6b5f
application
string

Application ID of the application for which this loan account is created

Example:
4eb8aa9c-fb91-4848-bd73-cf744a53f2ce
end_user
string

End user ID of the borrower of this loan account

Example:
aac5091e-be2a-4e41-b814-8726ca364853
amount
number

The credit limit of this loan account

rate
number

Interest rate for this loan account

installments
number

(Relevant only for term loans) number of repayments for this loan

grace_instalments
number

(Relevant only for term loans) Number of payment periods in which no repayments are expected

principal_repayment_grace
number

(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

arrears_tolerance
number

Number of days between the repayment due date and when the account is considered in arrears

status
string

The status of the loan account

Enumeration:
inactive
active
repaid
late
arrears
default
closed
principal
number

The principal balance

interest
number

The interest balance

fee
number

The fee balance

pending_principal
number

The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_interest
number

The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_fee
string

The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party

is_interest_calculation_enabled
boolean

A flag indicating whether interest should be calculated for this loan account

close_reason
string

For closed loans, the reason for closing the loan

close_substatus
string

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": ""
}
Cancel a specific loan account
POST /api/v1/loan/{id}/cancel/

Authentication

api_key

View set for managing end user account

Path variables

id
string required

A UUID string identifying this Loan account.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
application
string required
amount
number
interest_rate
number
installments
integer
grace_instalments
integer
principal_repayment_grace
integer
arrears_tolerance
integer
repayment_date_period
integer
statement_date_period
integer
custom_field
string
principal
number
interest
number
fee
number
pending_principal
number
pending_interest
number
pending_fee
number
go_cardless_mandate
string

Responses

201 201
Set a specific direct debit mandate for a loan account
POST /api/v1/loan/{id}/set_go_cardless_mandate/

Authentication

api_key

View set for managing end user account

Path variables

id
string required

A UUID string identifying this Loan account.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json;charset=UTF-8
Object
go_cardless_mandate
string

Responses

201 201

201

Decision Engine
Backbone Decision Engine Explained

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.

Decision
GET /api/v1/decision_engine/decision/{id}/
GET /api/v1/decision_engine/decision/
Get details of a specific decision
GET /api/v1/decision_engine/decision/{id}/

Authentication

api_key

View set for Decisions

Path variables

id
string required

A UUID string identifying this decision.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string
status
string
Enumeration:
pending
approved
declined
application
string

ID of the application

risk_engine_version
string

The version of the risk engine that processed the application

results
Object

The result object

final_decision
string

The final decision on the application

scorecards
Array

An array of the scorecards that were calculated during the assessment

Object
name
string

Scorecard name

decision
boolean

Scorecard decision

score
number

The calculated score of the scorecard

results
Array

The result of each rule in the scorecard

Object
rule
string

The name of the rule

result
number

The calculation of the rule

Get a filtered list of decisions
GET /api/v1/decision_engine/decision/

Authentication

api_key

Override for getting csv file for query with filter and without pagination

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Risk Engine
POST /api/v1/decision_engine/risk_engine/
PUT /api/v1/decision_engine/risk_engine/{id}/
PATCH /api/v1/decision_engine/risk_engine/{id}/
PATCH /api/v1/decision_engine/risk_engine/{id}/activate/
GET /api/v1/decision_engine/risk_engine/{id}/
GET /api/v1/decision_engine/risk_engine/
Create a risk engine
POST /api/v1/decision_engine/risk_engine/

Authentication

api_key

View set for risk engines

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
version
string

Risk engine version

active
boolean

Determines whether the risk engine is active

scorecards
Array of string

List of scorecard IDs

Responses

201 201
Body
application/json;charset=UTF-8
Object
id
string

Risk engine ID

version
string

Unique risk engine version

active
boolean

Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector

scorecards
Array of string

List of scorecard IDs

Update a specific risk engine
PUT /api/v1/decision_engine/risk_engine/{id}/

Authentication

api_key

View set for risk engines

Path variables

id
string required

A UUID string identifying this risk engine.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
version
string

Risk engine version

active
boolean

Determines whether the risk engine is active

scorecards
Array of string

List of scorecard IDs

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string

Risk engine ID

version
string

Unique risk engine version

active
boolean

Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector

scorecards
Array of string

List of scorecard IDs

Update a specific risk engine
PATCH /api/v1/decision_engine/risk_engine/{id}/

Authentication

api_key

View set for risk engines

Path variables

id
string required

A UUID string identifying this risk engine.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
version
string

Risk engine version

active
boolean

Determines whether the risk engine is active

scorecards
Array of string

List of scorecard IDs

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string

Risk engine ID

version
string

Unique risk engine version

active
boolean

Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector

scorecards
Array of string

List of scorecard IDs

Set a risk engine to be active
PATCH /api/v1/decision_engine/risk_engine/{id}/activate/

Authentication

api_key

View set for risk engines

Path variables

id
string required

A UUID string identifying this risk engine.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string

Risk engine ID

version
string

Unique risk engine version

active
boolean

Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector

scorecards
Array of string

List of scorecard IDs

View details of a specific risk engine
GET /api/v1/decision_engine/risk_engine/{id}/

Authentication

api_key

View set for risk engines

Path variables

id
string required

A UUID string identifying this risk engine.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string

Risk engine ID

version
string

Unique risk engine version

active
boolean

Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector

scorecards
Array of string

List of scorecard IDs

Get a filtered list of risk engines
GET /api/v1/decision_engine/risk_engine/

Authentication

api_key

Override for getting csv file for query with filter and without pagination

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Body
application/json;charset=UTF-8
Array
Object
id
string

Risk engine ID

version
string

Unique risk engine version

active
boolean

Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector

scorecards
Array of string

List of scorecard IDs

Scorecard
POST /api/v1/decision_engine/scorecard/
PATCH /api/v1/decision_engine/scorecard/{id}/
PUT /api/v1/decision_engine/scorecard/{id}/
PATCH /api/v1/decision_engine/scorecard/{id}/activate/
GET /api/v1/decision_engine/scorecard/{id}/
GET /api/v1/decision_engine/scorecard/
View set for risk engines
POST /api/v1/decision_engine/scorecard/

Authentication

api_key

View set for risk engines

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
name
string required
threshold
number required
active
boolean
stop_on_first_fail
boolean
rules
string

Responses

201 201
Update a specific scorecard
PATCH /api/v1/decision_engine/scorecard/{id}/

Authentication

api_key

View set for risk engines

Path variables

id
string required

A UUID string identifying this scorecard.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
name
string

Scorecard name

threshold
number

The threshold that determies whether the application passed the scorecard or failed

stop_on_first_fail
boolean

Determines whether the calculation of the scorecard should stop on the first failing rule

rules
Array

Array of rules to be calculated

Object
rule_name
string
statement
string

This is the logic statment that will be calculated in the rule

Examples:
(100 * float({{some_input_source}}))/365500 if {{some_input_source}} == \'test\' else 1001000 if {{some_input_source}} else 0
weight
number

The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1

Min: 0
Max: 1
threshold
string

The threshold that determines whether the application passed the rule or failed

Responses

200 200
Body
application/json;charset=UTF-8
Object
name
string

Scorecard name

threshold
number

The threshold that determies whether the application passed the scorecard or failed

stop_on_first_fail
boolean

Determines whether the calculation of the scorecard should stop on the first failing rule

rules
Array

Array of rules to be calculated

Object
rule_name
string
statement
string

This is the logic statment that will be calculated in the rule

Examples:
(100 * float({{some_input_source}}))/365500 if {{some_input_source}} == \'test\' else 1001000 if {{some_input_source}} else 0
weight
number

The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1

Min: 0
Max: 1
threshold
string

The threshold that determines whether the application passed the rule or failed

Update a specific scorecard
PUT /api/v1/decision_engine/scorecard/{id}/

Authentication

api_key

View set for risk engines

Path variables

id
string required

A UUID string identifying this scorecard.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
name
string

Scorecard name

threshold
number

The threshold that determies whether the application passed the scorecard or failed

stop_on_first_fail
boolean

Determines whether the calculation of the scorecard should stop on the first failing rule

rules
Array

Array of rules to be calculated

Object
rule_name
string
statement
string

This is the logic statment that will be calculated in the rule

Examples:
(100 * float({{some_input_source}}))/365500 if {{some_input_source}} == \'test\' else 1001000 if {{some_input_source}} else 0
weight
number

The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1

Min: 0
Max: 1
threshold
string

The threshold that determines whether the application passed the rule or failed

Responses

200 200
Body
application/json;charset=UTF-8
Object
name
string

Scorecard name

threshold
number

The threshold that determies whether the application passed the scorecard or failed

stop_on_first_fail
boolean

Determines whether the calculation of the scorecard should stop on the first failing rule

rules
Array

Array of rules to be calculated

Object
rule_name
string
statement
string

This is the logic statment that will be calculated in the rule

Examples:
(100 * float({{some_input_source}}))/365500 if {{some_input_source}} == \'test\' else 1001000 if {{some_input_source}} else 0
weight
number

The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1

Min: 0
Max: 1
threshold
string

The threshold that determines whether the application passed the rule or failed

Setting a scorecard status to active
PATCH /api/v1/decision_engine/scorecard/{id}/activate/

Authentication

api_key

View set for risk engines

Path variables

id
string required

A UUID string identifying this scorecard.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json

Responses

200 200
Body
application/json;charset=UTF-8
Object
name
string

Scorecard name

threshold
number

The threshold that determies whether the application passed the scorecard or failed

stop_on_first_fail
boolean

Determines whether the calculation of the scorecard should stop on the first failing rule

rules
Array

Array of rules to be calculated

Object
rule_name
string
statement
string

This is the logic statment that will be calculated in the rule

Examples:
(100 * float({{some_input_source}}))/365500 if {{some_input_source}} == \'test\' else 1001000 if {{some_input_source}} else 0
weight
number

The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1

Min: 0
Max: 1
threshold
string

The threshold that determines whether the application passed the rule or failed

Get details of a specific scorecard
GET /api/v1/decision_engine/scorecard/{id}/

Authentication

api_key

View set for risk engines

Path variables

id
string required

A UUID string identifying this scorecard.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Body
application/json;charset=UTF-8
Object
name
string

Scorecard name

threshold
number

The threshold that determies whether the application passed the scorecard or failed

stop_on_first_fail
boolean

Determines whether the calculation of the scorecard should stop on the first failing rule

rules
Array

Array of rules to be calculated

Object
rule_name
string
statement
string

This is the logic statment that will be calculated in the rule

Examples:
(100 * float({{some_input_source}}))/365500 if {{some_input_source}} == \'test\' else 1001000 if {{some_input_source}} else 0
weight
number

The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1

Min: 0
Max: 1
threshold
string

The threshold that determines whether the application passed the rule or failed

Get a filtered list of scorecards
GET /api/v1/decision_engine/scorecard/

Authentication

api_key

Override for getting csv file for query with filter and without pagination

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Body
application/json;charset=UTF-8
Array
Object
name
string

Scorecard name

threshold
number

The threshold that determies whether the application passed the scorecard or failed

stop_on_first_fail
boolean

Determines whether the calculation of the scorecard should stop on the first failing rule

rules
Array

Array of rules to be calculated

Object
rule_name
string
statement
string

This is the logic statment that will be calculated in the rule

Examples:
(100 * float({{some_input_source}}))/365500 if {{some_input_source}} == \'test\' else 1001000 if {{some_input_source}} else 0
weight
number

The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1

Min: 0
Max: 1
threshold
string

The threshold that determines whether the application passed the rule or failed

Risk Engine Selector
POST /api/v1/decision_engine/risk_engine_selector/
PUT /api/v1/decision_engine/risk_engine_selector/{id}/
PATCH /api/v1/decision_engine/risk_engine_selector/{id}/
GET /api/v1/decision_engine/risk_engine_selector/{id}/
GET /api/v1/decision_engine/risk_engine_selector/
Create a risk engine selector
POST /api/v1/decision_engine/risk_engine_selector/

Authentication

api_key

View set for risk engine selectors

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
product
string

The ID of the product using this selector

riskengine_weights
Array

List of risk engine versions and their weights. Sum of weights must be 1

Object
riskengine_version
string

Version of the risk engine to be selected from. Only active risk engines can be selected.

weight
number

Responses

201 201
Body
application/json;charset=UTF-8
Object
id
string

The ID of the selector

product
string

The ID of the product using this selector

riskengine_weights
Array

List of risk engines and their weights

Object
riskengine_version
string
weight
number
Update a specific risk engine selector
PUT /api/v1/decision_engine/risk_engine_selector/{id}/

Authentication

api_key

View set for risk engine selectors

Path variables

id
string required

A UUID string identifying this risk engine selector.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
product
string

The ID of the product using this selector

riskengine_weights
Array

List of risk engine versions and their weights. Sum of weights must be 1

Object
riskengine_version
string

Version of the risk engine to be selected from. Only active risk engines can be selected.

weight
number

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string

The ID of the selector

product
string

The ID of the product using this selector

riskengine_weights
Array

List of risk engines and their weights

Object
riskengine_version
string
weight
number
Update a specific risk engine selector
PATCH /api/v1/decision_engine/risk_engine_selector/{id}/

Authentication

api_key

View set for risk engine selectors

Path variables

id
string required

A UUID string identifying this risk engine selector.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
product
string

The ID of the product using this selector

riskengine_weights
Array

List of risk engine versions and their weights. Sum of weights must be 1

Object
riskengine_version
string

Version of the risk engine to be selected from. Only active risk engines can be selected.

weight
number

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string

The ID of the selector

product
string

The ID of the product using this selector

riskengine_weights
Array

List of risk engines and their weights

Object
riskengine_version
string
weight
number
Get the details of a specific risk engine selector
GET /api/v1/decision_engine/risk_engine_selector/{id}/

Authentication

api_key

View set for risk engine selectors

Path variables

id
string required

A UUID string identifying this risk engine selector.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string

The ID of the selector

product
string

The ID of the product using this selector

riskengine_weights
Array

List of risk engines and their weights

Object
riskengine_version
string
weight
number
Get a filtered list of risk engine selectors
GET /api/v1/decision_engine/risk_engine_selector/

Authentication

api_key

Override for getting csv file for query with filter and without pagination

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Body
application/json;charset=UTF-8
Array
Object
id
string

The ID of the selector

product
string

The ID of the product using this selector

riskengine_weights
Array

List of risk engines and their weights

Object
riskengine_version
string
weight
number
Data Point
POST /api/v1/decision_engine/data_point/
PUT /api/v1/decision_engine/data_point/{id}/
PATCH /api/v1/decision_engine/data_point/{id}/
GET /api/v1/decision_engine/data_point/
GET /api/v1/decision_engine/data_point/{id}/
Create a data point for an application
POST /api/v1/decision_engine/data_point/

Authentication

api_key

View set for data points

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
input_source
string

ID of the input source this data comes from

value
string
application
string

The ID of the application this data point relates to

Responses

201 201
Body
application/json;charset=UTF-8
Object
id
string
input_source
string

ID of the input source this data comes from

value
string
application
string

The ID of the application this data point relates to

Update a specific data point
PUT /api/v1/decision_engine/data_point/{id}/

Authentication

api_key

View set for data points

Path variables

id
string required

A UUID string identifying this data point.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
input_source
string

ID of the input source this data comes from

value
string
application
string

The ID of the application this data point relates to

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string
input_source
string

ID of the input source this data comes from

value
string
application
string

The ID of the application this data point relates to

Update a specific data point
PATCH /api/v1/decision_engine/data_point/{id}/

Authentication

api_key

View set for data points

Path variables

id
string required

A UUID string identifying this data point.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
input_source
string

ID of the input source this data comes from

value
string
application
string

The ID of the application this data point relates to

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string
input_source
string

ID of the input source this data comes from

value
string
application
string

The ID of the application this data point relates to

Get a filtered list of data points
GET /api/v1/decision_engine/data_point/

Authentication

api_key

Override for getting csv file for query with filter and without pagination

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Body
application/json;charset=UTF-8
Array
Object
id
string
input_source
string

ID of the input source this data comes from

value
string
application
string

The ID of the application this data point relates to

Get the details of a specific data points
GET /api/v1/decision_engine/data_point/{id}/

Authentication

api_key

View set for data points

Path variables

id
string required

A UUID string identifying this data point.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string
input_source
string

ID of the input source this data comes from

value
string
application
string

The ID of the application this data point relates to

Input Source
POST /api/v1/decision_engine/input_source/
PATCH /api/v1/decision_engine/input_source/{id}/
PUT /api/v1/decision_engine/input_source/{id}/
GET /api/v1/decision_engine/input_source/{id}/
GET /api/v1/decision_engine/input_source/
Create a new input source
POST /api/v1/decision_engine/input_source/

Authentication

api_key

View set for input sources

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
input_name
string
input_type
string
Enumeration:
str
float
int
bool

Responses

201 201
Body
application/json;charset=UTF-8
Object
id
string
input_name
string
input_type
string
Enumeration:
str
float
int
bool
Update a specific input source
PATCH /api/v1/decision_engine/input_source/{id}/

Authentication

api_key

View set for input sources

Path variables

id
string required

A UUID string identifying this input source.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
input_name
string
input_type
string
Enumeration:
str
float
int
bool

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string
input_name
string
input_type
string
Enumeration:
str
float
int
bool
Update a specific input source
PUT /api/v1/decision_engine/input_source/{id}/

Authentication

api_key

View set for input sources

Path variables

id
string required

A UUID string identifying this input source.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
input_name
string
input_type
string
Enumeration:
str
float
int
bool

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string
input_name
string
input_type
string
Enumeration:
str
float
int
bool
Get the details of a specific input source
GET /api/v1/decision_engine/input_source/{id}/

Authentication

api_key

View set for input sources

Path variables

id
string required

A UUID string identifying this input source.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Body
application/json;charset=UTF-8
Object
id
string
input_name
string
input_type
string
Enumeration:
str
float
int
bool
Get a filtered list of input sources
GET /api/v1/decision_engine/input_source/

Authentication

api_key

Override for getting csv file for query with filter and without pagination

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Body
application/json;charset=UTF-8
Array
Object
id
string
input_name
string
input_type
string
Enumeration:
str
float
int
bool
transactions
GET /api/v1/transaction/
POST /api/v1/transaction/
GET /api/v1/transaction/{id}/
POST /api/v1/transaction/{id}/apply/
POST /api/v1/transaction/{id}/retry/
POST /api/v1/transaction/{id}/revert/
Transactions explained

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.

Get a filtered list of transactions
GET /api/v1/transaction/

Authentication

api_key

View set for managing transactions

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

id
string optional
id__iexact
string optional
id__contains
string optional
id__icontains
string optional
id__in
string optional

Multiple values may be separated by commas.

created
string optional
created__lt
string optional
created__lte
string optional
created__gt
string optional
created__gte
string optional
created__in
string optional

Multiple values may be separated by commas.

created__year
number optional
created__year__lt
number optional
created__year__lte
number optional
created__year__gt
number optional
created__year__gte
number optional
created__year__in
number optional

Multiple values may be separated by commas.

created__month
number optional
created__month__lt
number optional
created__month__lte
number optional
created__month__gt
number optional
created__month__gte
number optional
created__month__in
number optional

Multiple values may be separated by commas.

created__day
number optional
created__day__lt
number optional
created__day__lte
number optional
created__day__gt
number optional
created__day__gte
number optional
created__day__in
number optional

Multiple values may be separated by commas.

updated
string optional
updated__lt
string optional
updated__lte
string optional
updated__gt
string optional
updated__gte
string optional
updated__in
string optional

Multiple values may be separated by commas.

updated__year
number optional
updated__year__lt
number optional
updated__year__lte
number optional
updated__year__gt
number optional
updated__year__gte
number optional
updated__year__in
number optional

Multiple values may be separated by commas.

updated__month
number optional
updated__month__lt
number optional
updated__month__lte
number optional
updated__month__gt
number optional
updated__month__gte
number optional
updated__month__in
number optional

Multiple values may be separated by commas.

updated__day
number optional
updated__day__lt
number optional
updated__day__lte
number optional
updated__day__gt
number optional
updated__day__gte
number optional
updated__day__in
number optional

Multiple values may be separated by commas.

loan
string optional
loan__lt
string optional
loan__lte
string optional
loan__gt
string optional
loan__gte
string optional
loan__in
string optional

Multiple values may be separated by commas.

type
string optional
type__iexact
string optional
type__contains
string optional
type__icontains
string optional
type__in
string optional

Multiple values may be separated by commas.

amount
number optional
amount__lt
number optional
amount__lte
number optional
amount__gt
number optional
amount__gte
number optional
amount__in
number optional

Multiple values may be separated by commas.

status
string optional
status__iexact
string optional
status__contains
string optional
status__icontains
string optional
status__in
string optional

Multiple values may be separated by commas.

fee_name
string optional
fee_name__iexact
string optional
fee_name__contains
string optional
fee_name__icontains
string optional
fee_name__in
string optional

Multiple values may be separated by commas.

fee_type
string optional
fee_type__iexact
string optional
fee_type__contains
string optional
fee_type__icontains
string optional
fee_type__in
string optional

Multiple values may be separated by commas.

custom_fee_amount
number optional
custom_fee_amount__lt
number optional
custom_fee_amount__lte
number optional
custom_fee_amount__gt
number optional
custom_fee_amount__gte
number optional
custom_fee_amount__in
number optional

Multiple values may be separated by commas.

previous_transaction
string optional
previous_transaction__lt
string optional
previous_transaction__lte
string optional
previous_transaction__gt
string optional
previous_transaction__gte
string optional
previous_transaction__in
string optional

Multiple values may be separated by commas.

idempotency_key
string optional
idempotency_key__iexact
string optional
idempotency_key__contains
string optional
idempotency_key__icontains
string optional
idempotency_key__in
string optional

Multiple values may be separated by commas.

related_transaction
string optional
related_transaction__lt
string optional
related_transaction__lte
string optional
related_transaction__gt
string optional
related_transaction__gte
string optional
related_transaction__in
string optional

Multiple values may be separated by commas.

completed_at
string optional
completed_at__lt
string optional
completed_at__lte
string optional
completed_at__gt
string optional
completed_at__gte
string optional
completed_at__in
string optional

Multiple values may be separated by commas.

completed_at__year
number optional
completed_at__year__lt
number optional
completed_at__year__lte
number optional
completed_at__year__gt
number optional
completed_at__year__gte
number optional
completed_at__year__in
number optional

Multiple values may be separated by commas.

completed_at__month
number optional
completed_at__month__lt
number optional
completed_at__month__lte
number optional
completed_at__month__gt
number optional
completed_at__month__gte
number optional
completed_at__month__in
number optional

Multiple values may be separated by commas.

completed_at__day
number optional
completed_at__day__lt
number optional
completed_at__day__lte
number optional
completed_at__day__gt
number optional
completed_at__day__gte
number optional
completed_at__day__in
number optional

Multiple values may be separated by commas.

reverted_at
string optional
reverted_at__lt
string optional
reverted_at__lte
string optional
reverted_at__gt
string optional
reverted_at__gte
string optional
reverted_at__in
string optional

Multiple values may be separated by commas.

reverted_at__year
number optional
reverted_at__year__lt
number optional
reverted_at__year__lte
number optional
reverted_at__year__gt
number optional
reverted_at__year__gte
number optional
reverted_at__year__in
number optional

Multiple values may be separated by commas.

reverted_at__month
number optional
reverted_at__month__lt
number optional
reverted_at__month__lte
number optional
reverted_at__month__gt
number optional
reverted_at__month__gte
number optional
reverted_at__month__in
number optional

Multiple values may be separated by commas.

reverted_at__day
number optional
reverted_at__day__lt
number optional
reverted_at__day__lte
number optional
reverted_at__day__gt
number optional
reverted_at__day__gte
number optional
reverted_at__day__in
number optional

Multiple values may be separated by commas.

result_outstanding_balance
number optional
result_outstanding_balance__lt
number optional
result_outstanding_balance__lte
number optional
result_outstanding_balance__gt
number optional
result_outstanding_balance__gte
number optional
result_outstanding_balance__in
number optional

Multiple values may be separated by commas.

affected_loan_principal
number optional
affected_loan_principal__lt
number optional
affected_loan_principal__lte
number optional
affected_loan_principal__gt
number optional
affected_loan_principal__gte
number optional
affected_loan_principal__in
number optional

Multiple values may be separated by commas.

affected_loan_interest
number optional
affected_loan_interest__lt
number optional
affected_loan_interest__lte
number optional
affected_loan_interest__gt
number optional
affected_loan_interest__gte
number optional
affected_loan_interest__in
number optional

Multiple values may be separated by commas.

affected_loan_fee
number optional
affected_loan_fee__lt
number optional
affected_loan_fee__lte
number optional
affected_loan_fee__gt
number optional
affected_loan_fee__gte
number optional
affected_loan_fee__in
number optional

Multiple values may be separated by commas.

result_loan_status
string optional
result_loan_status__iexact
string optional
result_loan_status__contains
string optional
result_loan_status__icontains
string optional
result_loan_status__in
string optional

Multiple values may be separated by commas.

statement
string optional
statement__lt
string optional
statement__lte
string optional
statement__gt
string optional
statement__gte
string optional
statement__in
string optional

Multiple values may be separated by commas.

loan__id
string optional
loan__id__iexact
string optional
loan__id__contains
string optional
loan__id__icontains
string optional
loan__id__in
string optional

Multiple values may be separated by commas.

loan__created
string optional
loan__created__lt
string optional
loan__created__lte
string optional
loan__created__gt
string optional
loan__created__gte
string optional
loan__created__in
string optional

Multiple values may be separated by commas.

loan__created__year
number optional
loan__created__year__lt
number optional
loan__created__year__lte
number optional
loan__created__year__gt
number optional
loan__created__year__gte
number optional
loan__created__year__in
number optional

Multiple values may be separated by commas.

loan__created__month
number optional
loan__created__month__lt
number optional
loan__created__month__lte
number optional
loan__created__month__gt
number optional
loan__created__month__gte
number optional
loan__created__month__in
number optional

Multiple values may be separated by commas.

loan__created__day
number optional
loan__created__day__lt
number optional
loan__created__day__lte
number optional
loan__created__day__gt
number optional
loan__created__day__gte
number optional
loan__created__day__in
number optional

Multiple values may be separated by commas.

loan__updated
string optional
loan__updated__lt
string optional
loan__updated__lte
string optional
loan__updated__gt
string optional
loan__updated__gte
string optional
loan__updated__in
string optional

Multiple values may be separated by commas.

loan__updated__year
number optional
loan__updated__year__lt
number optional
loan__updated__year__lte
number optional
loan__updated__year__gt
number optional
loan__updated__year__gte
number optional
loan__updated__year__in
number optional

Multiple values may be separated by commas.

loan__updated__month
number optional
loan__updated__month__lt
number optional
loan__updated__month__lte
number optional
loan__updated__month__gt
number optional
loan__updated__month__gte
number optional
loan__updated__month__in
number optional

Multiple values may be separated by commas.

loan__updated__day
number optional
loan__updated__day__lt
number optional
loan__updated__day__lte
number optional
loan__updated__day__gt
number optional
loan__updated__day__gte
number optional
loan__updated__day__in
number optional

Multiple values may be separated by commas.

loan__application
string optional
loan__application__lt
string optional
loan__application__lte
string optional
loan__application__gt
string optional
loan__application__gte
string optional
loan__application__in
string optional

Multiple values may be separated by commas.

loan__end_user
string optional
loan__end_user__lt
string optional
loan__end_user__lte
string optional
loan__end_user__gt
string optional
loan__end_user__gte
string optional
loan__end_user__in
string optional

Multiple values may be separated by commas.

loan__amount
number optional
loan__amount__lt
number optional
loan__amount__lte
number optional
loan__amount__gt
number optional
loan__amount__gte
number optional
loan__amount__in
number optional

Multiple values may be separated by commas.

loan__interest_rate
number optional
loan__interest_rate__lt
number optional
loan__interest_rate__lte
number optional
loan__interest_rate__gt
number optional
loan__interest_rate__gte
number optional
loan__interest_rate__in
number optional

Multiple values may be separated by commas.

loan__installments
number optional
loan__installments__lt
number optional
loan__installments__lte
number optional
loan__installments__gt
number optional
loan__installments__gte
number optional
loan__installments__in
number optional

Multiple values may be separated by commas.

loan__grace_instalments
number optional
loan__grace_instalments__lt
number optional
loan__grace_instalments__lte
number optional
loan__grace_instalments__gt
number optional
loan__grace_instalments__gte
number optional
loan__grace_instalments__in
number optional

Multiple values may be separated by commas.

loan__principal_repayment_grace
number optional
loan__principal_repayment_grace__lt
number optional
loan__principal_repayment_grace__lte
number optional
loan__principal_repayment_grace__gt
number optional
loan__principal_repayment_grace__gte
number optional
loan__principal_repayment_grace__in
number optional

Multiple values may be separated by commas.

loan__arrears_tolerance
number optional
loan__arrears_tolerance__lt
number optional
loan__arrears_tolerance__lte
number optional
loan__arrears_tolerance__gt
number optional
loan__arrears_tolerance__gte
number optional
loan__arrears_tolerance__in
number optional

Multiple values may be separated by commas.

loan__status
string optional
loan__status__iexact
string optional
loan__status__contains
string optional
loan__status__icontains
string optional
loan__status__in
string optional

Multiple values may be separated by commas.

loan__principal
number optional
loan__principal__lt
number optional
loan__principal__lte
number optional
loan__principal__gt
number optional
loan__principal__gte
number optional
loan__principal__in
number optional

Multiple values may be separated by commas.

loan__interest
number optional
loan__interest__lt
number optional
loan__interest__lte
number optional
loan__interest__gt
number optional
loan__interest__gte
number optional
loan__interest__in
number optional

Multiple values may be separated by commas.

loan__fee
number optional
loan__fee__lt
number optional
loan__fee__lte
number optional
loan__fee__gt
number optional
loan__fee__gte
number optional
loan__fee__in
number optional

Multiple values may be separated by commas.

loan__pending_principal
number optional
loan__pending_principal__lt
number optional
loan__pending_principal__lte
number optional
loan__pending_principal__gt
number optional
loan__pending_principal__gte
number optional
loan__pending_principal__in
number optional

Multiple values may be separated by commas.

loan__pending_interest
number optional
loan__pending_interest__lt
number optional
loan__pending_interest__lte
number optional
loan__pending_interest__gt
number optional
loan__pending_interest__gte
number optional
loan__pending_interest__in
number optional

Multiple values may be separated by commas.

loan__pending_fee
number optional
loan__pending_fee__lt
number optional
loan__pending_fee__lte
number optional
loan__pending_fee__gt
number optional
loan__pending_fee__gte
number optional
loan__pending_fee__in
number optional

Multiple values may be separated by commas.

loan__last_transaction
string optional
loan__last_transaction__lt
string optional
loan__last_transaction__lte
string optional
loan__last_transaction__gt
string optional
loan__last_transaction__gte
string optional
loan__last_transaction__in
string optional

Multiple values may be separated by commas.

loan__close_substatus
string optional
loan__close_substatus__iexact
string optional
loan__close_substatus__contains
string optional
loan__close_substatus__icontains
string optional
loan__close_substatus__in
string optional

Multiple values may be separated by commas.

loan__close_reason
string optional
loan__close_reason__iexact
string optional
loan__close_reason__contains
string optional
loan__close_reason__icontains
string optional
loan__close_reason__in
string optional

Multiple values may be separated by commas.

loan__business_days_in_period
number optional
loan__business_days_in_period__lt
number optional
loan__business_days_in_period__lte
number optional
loan__business_days_in_period__gt
number optional
loan__business_days_in_period__gte
number optional
loan__business_days_in_period__in
number optional

Multiple values may be separated by commas.

loan__end_user__id
string optional
loan__end_user__id__iexact
string optional
loan__end_user__id__contains
string optional
loan__end_user__id__icontains
string optional
loan__end_user__id__in
string optional

Multiple values may be separated by commas.

loan__end_user__created
string optional
loan__end_user__created__lt
string optional
loan__end_user__created__lte
string optional
loan__end_user__created__gt
string optional
loan__end_user__created__gte
string optional
loan__end_user__created__in
string optional

Multiple values may be separated by commas.

loan__end_user__created__year
number optional
loan__end_user__created__year__lt
number optional
loan__end_user__created__year__lte
number optional
loan__end_user__created__year__gt
number optional
loan__end_user__created__year__gte
number optional
loan__end_user__created__year__in
number optional

Multiple values may be separated by commas.

loan__end_user__created__month
number optional
loan__end_user__created__month__lt
number optional
loan__end_user__created__month__lte
number optional
loan__end_user__created__month__gt
number optional
loan__end_user__created__month__gte
number optional
loan__end_user__created__month__in
number optional

Multiple values may be separated by commas.

loan__end_user__created__day
number optional
loan__end_user__created__day__lt
number optional
loan__end_user__created__day__lte
number optional
loan__end_user__created__day__gt
number optional
loan__end_user__created__day__gte
number optional
loan__end_user__created__day__in
number optional

Multiple values may be separated by commas.

loan__end_user__updated
string optional
loan__end_user__updated__lt
string optional
loan__end_user__updated__lte
string optional
loan__end_user__updated__gt
string optional
loan__end_user__updated__gte
string optional
loan__end_user__updated__in
string optional

Multiple values may be separated by commas.

loan__end_user__updated__year
number optional
loan__end_user__updated__year__lt
number optional
loan__end_user__updated__year__lte
number optional
loan__end_user__updated__year__gt
number optional
loan__end_user__updated__year__gte
number optional
loan__end_user__updated__year__in
number optional

Multiple values may be separated by commas.

loan__end_user__updated__month
number optional
loan__end_user__updated__month__lt
number optional
loan__end_user__updated__month__lte
number optional
loan__end_user__updated__month__gt
number optional
loan__end_user__updated__month__gte
number optional
loan__end_user__updated__month__in
number optional

Multiple values may be separated by commas.

loan__end_user__updated__day
number optional
loan__end_user__updated__day__lt
number optional
loan__end_user__updated__day__lte
number optional
loan__end_user__updated__day__gt
number optional
loan__end_user__updated__day__gte
number optional
loan__end_user__updated__day__in
number optional

Multiple values may be separated by commas.

loan__end_user__first_name
string optional
loan__end_user__first_name__iexact
string optional
loan__end_user__first_name__contains
string optional
loan__end_user__first_name__icontains
string optional
loan__end_user__first_name__in
string optional

Multiple values may be separated by commas.

loan__end_user__last_name
string optional
loan__end_user__last_name__iexact
string optional
loan__end_user__last_name__contains
string optional
loan__end_user__last_name__icontains
string optional
loan__end_user__last_name__in
string optional

Multiple values may be separated by commas.

loan__end_user__birth_date
string optional
loan__end_user__birth_date__lt
string optional
loan__end_user__birth_date__lte
string optional
loan__end_user__birth_date__gt
string optional
loan__end_user__birth_date__gte
string optional
loan__end_user__birth_date__in
string optional

Multiple values may be separated by commas.

loan__end_user__birth_date__year
number optional
loan__end_user__birth_date__year__lt
number optional
loan__end_user__birth_date__year__lte
number optional
loan__end_user__birth_date__year__gt
number optional
loan__end_user__birth_date__year__gte
number optional
loan__end_user__birth_date__year__in
number optional

Multiple values may be separated by commas.

loan__end_user__birth_date__month
number optional
loan__end_user__birth_date__month__lt
number optional
loan__end_user__birth_date__month__lte
number optional
loan__end_user__birth_date__month__gt
number optional
loan__end_user__birth_date__month__gte
number optional
loan__end_user__birth_date__month__in
number optional

Multiple values may be separated by commas.

loan__end_user__birth_date__day
number optional
loan__end_user__birth_date__day__lt
number optional
loan__end_user__birth_date__day__lte
number optional
loan__end_user__birth_date__day__gt
number optional
loan__end_user__birth_date__day__gte
number optional
loan__end_user__birth_date__day__in
number optional

Multiple values may be separated by commas.

loan__end_user__address_line_1
string optional
loan__end_user__address_line_1__iexact
string optional
loan__end_user__address_line_1__contains
string optional
loan__end_user__address_line_1__icontains
string optional
loan__end_user__address_line_1__in
string optional

Multiple values may be separated by commas.

loan__end_user__address_line_2
string optional
loan__end_user__address_line_2__iexact
string optional
loan__end_user__address_line_2__contains
string optional
loan__end_user__address_line_2__icontains
string optional
loan__end_user__address_line_2__in
string optional

Multiple values may be separated by commas.

loan__end_user__address_line_3
string optional
loan__end_user__address_line_3__iexact
string optional
loan__end_user__address_line_3__contains
string optional
loan__end_user__address_line_3__icontains
string optional
loan__end_user__address_line_3__in
string optional

Multiple values may be separated by commas.

loan__end_user__city
string optional
loan__end_user__city__iexact
string optional
loan__end_user__city__contains
string optional
loan__end_user__city__icontains
string optional
loan__end_user__city__in
string optional

Multiple values may be separated by commas.

loan__end_user__postal_code
string optional
loan__end_user__postal_code__iexact
string optional
loan__end_user__postal_code__contains
string optional
loan__end_user__postal_code__icontains
string optional
loan__end_user__postal_code__in
string optional

Multiple values may be separated by commas.

loan__end_user__country
string optional
loan__end_user__country__iexact
string optional
loan__end_user__country__contains
string optional
loan__end_user__country__icontains
string optional
loan__end_user__country__in
string optional

Multiple values may be separated by commas.

loan__end_user__bank_account_number
string optional
loan__end_user__bank_account_number__iexact
string optional
loan__end_user__bank_account_number__contains
string optional
loan__end_user__bank_account_number__icontains
string optional
loan__end_user__bank_account_number__in
string optional

Multiple values may be separated by commas.

loan__end_user__sort_code
string optional
loan__end_user__sort_code__iexact
string optional
loan__end_user__sort_code__contains
string optional
loan__end_user__sort_code__icontains
string optional
loan__end_user__sort_code__in
string optional

Multiple values may be separated by commas.

loan__end_user__mobile_number
string optional
loan__end_user__mobile_number__iexact
string optional
loan__end_user__mobile_number__contains
string optional
loan__end_user__mobile_number__icontains
string optional
loan__end_user__mobile_number__in
string optional

Multiple values may be separated by commas.

loan__end_user__email
string optional
loan__end_user__email__iexact
string optional
loan__end_user__email__contains
string optional
loan__end_user__email__icontains
string optional
loan__end_user__email__in
string optional

Multiple values may be separated by commas.

loan__application__id
string optional
loan__application__id__iexact
string optional
loan__application__id__contains
string optional
loan__application__id__icontains
string optional
loan__application__id__in
string optional

Multiple values may be separated by commas.

loan__application__created
string optional
loan__application__created__lt
string optional
loan__application__created__lte
string optional
loan__application__created__gt
string optional
loan__application__created__gte
string optional
loan__application__created__in
string optional

Multiple values may be separated by commas.

loan__application__created__year
number optional
loan__application__created__year__lt
number optional
loan__application__created__year__lte
number optional
loan__application__created__year__gt
number optional
loan__application__created__year__gte
number optional
loan__application__created__year__in
number optional

Multiple values may be separated by commas.

loan__application__created__month
number optional
loan__application__created__month__lt
number optional
loan__application__created__month__lte
number optional
loan__application__created__month__gt
number optional
loan__application__created__month__gte
number optional
loan__application__created__month__in
number optional

Multiple values may be separated by commas.

loan__application__created__day
number optional
loan__application__created__day__lt
number optional
loan__application__created__day__lte
number optional
loan__application__created__day__gt
number optional
loan__application__created__day__gte
number optional
loan__application__created__day__in
number optional

Multiple values may be separated by commas.

loan__application__updated
string optional
loan__application__updated__lt
string optional
loan__application__updated__lte
string optional
loan__application__updated__gt
string optional
loan__application__updated__gte
string optional
loan__application__updated__in
string optional

Multiple values may be separated by commas.

loan__application__updated__year
number optional
loan__application__updated__year__lt
number optional
loan__application__updated__year__lte
number optional
loan__application__updated__year__gt
number optional
loan__application__updated__year__gte
number optional
loan__application__updated__year__in
number optional

Multiple values may be separated by commas.

loan__application__updated__month
number optional
loan__application__updated__month__lt
number optional
loan__application__updated__month__lte
number optional
loan__application__updated__month__gt
number optional
loan__application__updated__month__gte
number optional
loan__application__updated__month__in
number optional

Multiple values may be separated by commas.

loan__application__updated__day
number optional
loan__application__updated__day__lt
number optional
loan__application__updated__day__lte
number optional
loan__application__updated__day__gt
number optional
loan__application__updated__day__gte
number optional
loan__application__updated__day__in
number optional

Multiple values may be separated by commas.

loan__application__status
string optional
loan__application__status__iexact
string optional
loan__application__status__contains
string optional
loan__application__status__icontains
string optional
loan__application__status__in
string optional

Multiple values may be separated by commas.

loan__application__product
string optional
loan__application__product__lt
string optional
loan__application__product__lte
string optional
loan__application__product__gt
string optional
loan__application__product__gte
string optional
loan__application__product__in
string optional

Multiple values may be separated by commas.

loan__application__end_user
string optional
loan__application__end_user__lt
string optional
loan__application__end_user__lte
string optional
loan__application__end_user__gt
string optional
loan__application__end_user__gte
string optional
loan__application__end_user__in
string optional

Multiple values may be separated by commas.

loan__application__amount
number optional
loan__application__amount__lt
number optional
loan__application__amount__lte
number optional
loan__application__amount__gt
number optional
loan__application__amount__gte
number optional
loan__application__amount__in
number optional

Multiple values may be separated by commas.

loan__application__installments
number optional
loan__application__installments__lt
number optional
loan__application__installments__lte
number optional
loan__application__installments__gt
number optional
loan__application__installments__gte
number optional
loan__application__installments__in
number optional

Multiple values may be separated by commas.

loan__application__rate
number optional
loan__application__rate__lt
number optional
loan__application__rate__lte
number optional
loan__application__rate__gt
number optional
loan__application__rate__gte
number optional
loan__application__rate__in
number optional

Multiple values may be separated by commas.

loan__application__reason
string optional
loan__application__reason__iexact
string optional
loan__application__reason__contains
string optional
loan__application__reason__icontains
string optional
loan__application__reason__in
string optional

Multiple values may be separated by commas.

loan__application__processing_finished_at
string optional
loan__application__processing_finished_at__lt
string optional
loan__application__processing_finished_at__lte
string optional
loan__application__processing_finished_at__gt
string optional
loan__application__processing_finished_at__gte
string optional
loan__application__processing_finished_at__in
string optional

Multiple values may be separated by commas.

loan__application__processing_finished_at__year
number optional
loan__application__processing_finished_at__year__lt
number optional
loan__application__processing_finished_at__year__lte
number optional
loan__application__processing_finished_at__year__gt
number optional
loan__application__processing_finished_at__year__gte
number optional
loan__application__processing_finished_at__year__in
number optional

Multiple values may be separated by commas.

loan__application__processing_finished_at__month
number optional
loan__application__processing_finished_at__month__lt
number optional
loan__application__processing_finished_at__month__lte
number optional
loan__application__processing_finished_at__month__gt
number optional
loan__application__processing_finished_at__month__gte
number optional
loan__application__processing_finished_at__month__in
number optional

Multiple values may be separated by commas.

loan__application__processing_finished_at__day
number optional
loan__application__processing_finished_at__day__lt
number optional
loan__application__processing_finished_at__day__lte
number optional
loan__application__processing_finished_at__day__gt
number optional
loan__application__processing_finished_at__day__gte
number optional
loan__application__processing_finished_at__day__in
number optional

Multiple values may be separated by commas.

sort
string optional

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Create a transaction for a loan account
POST /api/v1/transaction/

Authentication

api_key

View set for managing transactions

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
loan
string required

The ID of the loan you wich to apply the transaction to

type
string required

The type of the transaction

Enumeration:
disbursement
repayment
fee
amount
number

(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.

fee_name
string

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.

fee_type
string

(Only for a non default fee) Describes whether the fee should be calculated as flat fee or as percetage from the account balance.

idempotency_key
string required

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.

custom_field
string

Responses

201 201

201

Get a specific transaction
GET /api/v1/transaction/{id}/

Authentication

api_key

View set for managing transactions

Path variables

id
string required

A UUID string identifying this Transaction.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Manually set transaction status to applied
POST /api/v1/transaction/{id}/apply/

Authentication

api_key

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

id
string required

A UUID string identifying this Transaction.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
loan
string required
type
string required
amount
number
fee_name
string
fee_type
string
idempotency_key
string required
custom_field
string

Responses

201 201

201

Retry a specific transaction
POST /api/v1/transaction/{id}/retry/

Authentication

api_key

View set for managing transactions

Path variables

id
string required

A UUID string identifying this Transaction.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
loan
string required
type
string required
amount
number
fee_name
string
fee_type
string
custom_fee_amount
number
idempotency_key
string required
custom_field
string

Responses

201 201
Revert a specific transaction.
POST /api/v1/transaction/{id}/revert/

Authentication

api_key

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

id
string required

A UUID string identifying this Transaction.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json
Object
loan
string required
type
string required
amount
number
fee_name
string
fee_type
string
idempotency_key
string required
custom_field
string

Responses

201 201

201

Collections
POST /api/v1/collections/go_cardless_mandate/{id}/manage_state/
GET /api/v1/collections/go_cardless_mandate/{id}/
GET /api/v1/collections/go_cardless_mandate/
Change the state of a mandate
POST /api/v1/collections/go_cardless_mandate/{id}/manage_state/

Authentication

api_key

View allows to disable or enable mandate requires to send is_disabled boolean parameter :param request: :param args: :param kwargs: :return:

Path variables

id
string required

A UUID string identifying this go cardless mandate.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Request body

application/json;charset=UTF-8
Object
is_disabled
boolean

Responses

201 201

201

Get the details of a specific mandate
GET /api/v1/collections/go_cardless_mandate/{id}/

Authentication

api_key

View set for mandates

Path variables

id
string required

A UUID string identifying this go cardless mandate.

Request parameters

id
string optional
id__iexact
string optional
id__contains
string optional
id__icontains
string optional
id__in
string optional

Multiple values may be separated by commas.

created
string optional
created__lt
string optional
created__lte
string optional
created__gt
string optional
created__gte
string optional
created__in
string optional

Multiple values may be separated by commas.

created__year
number optional
created__year__lt
number optional
created__year__lte
number optional
created__year__gt
number optional
created__year__gte
number optional
created__year__in
number optional

Multiple values may be separated by commas.

created__month
number optional
created__month__lt
number optional
created__month__lte
number optional
created__month__gt
number optional
created__month__gte
number optional
created__month__in
number optional

Multiple values may be separated by commas.

created__day
number optional
created__day__lt
number optional
created__day__lte
number optional
created__day__gt
number optional
created__day__gte
number optional
created__day__in
number optional

Multiple values may be separated by commas.

updated
string optional
updated__lt
string optional
updated__lte
string optional
updated__gt
string optional
updated__gte
string optional
updated__in
string optional

Multiple values may be separated by commas.

updated__year
number optional
updated__year__lt
number optional
updated__year__lte
number optional
updated__year__gt
number optional
updated__year__gte
number optional
updated__year__in
number optional

Multiple values may be separated by commas.

updated__month
number optional
updated__month__lt
number optional
updated__month__lte
number optional
updated__month__gt
number optional
updated__month__gte
number optional
updated__month__in
number optional

Multiple values may be separated by commas.

updated__day
number optional
updated__day__lt
number optional
updated__day__lte
number optional
updated__day__gt
number optional
updated__day__gte
number optional
updated__day__in
number optional

Multiple values may be separated by commas.

customer
string optional
customer__lt
string optional
customer__lte
string optional
customer__gt
string optional
customer__gte
string optional
customer__in
string optional

Multiple values may be separated by commas.

mandate_id
string optional
mandate_id__iexact
string optional
mandate_id__contains
string optional
mandate_id__icontains
string optional
mandate_id__in
string optional

Multiple values may be separated by commas.

status
string optional
status__iexact
string optional
status__contains
string optional
status__icontains
string optional
status__in
string optional

Multiple values may be separated by commas.

account_number_ending
string optional
account_number_ending__iexact
string optional
account_number_ending__contains
string optional
account_number_ending__icontains
string optional
account_number_ending__in
string optional

Multiple values may be separated by commas.

account_holder_name
string optional
account_holder_name__iexact
string optional
account_holder_name__contains
string optional
account_holder_name__icontains
string optional
account_holder_name__in
string optional

Multiple values may be separated by commas.

bank_name
string optional
bank_name__iexact
string optional
bank_name__contains
string optional
bank_name__icontains
string optional
bank_name__in
string optional

Multiple values may be separated by commas.

customer__id
string optional
customer__id__iexact
string optional
customer__id__contains
string optional
customer__id__icontains
string optional
customer__id__in
string optional

Multiple values may be separated by commas.

customer__created
string optional
customer__created__lt
string optional
customer__created__lte
string optional
customer__created__gt
string optional
customer__created__gte
string optional
customer__created__in
string optional

Multiple values may be separated by commas.

customer__created__year
number optional
customer__created__year__lt
number optional
customer__created__year__lte
number optional
customer__created__year__gt
number optional
customer__created__year__gte
number optional
customer__created__year__in
number optional

Multiple values may be separated by commas.

customer__created__month
number optional
customer__created__month__lt
number optional
customer__created__month__lte
number optional
customer__created__month__gt
number optional
customer__created__month__gte
number optional
customer__created__month__in
number optional

Multiple values may be separated by commas.

customer__created__day
number optional
customer__created__day__lt
number optional
customer__created__day__lte
number optional
customer__created__day__gt
number optional
customer__created__day__gte
number optional
customer__created__day__in
number optional

Multiple values may be separated by commas.

customer__updated
string optional
customer__updated__lt
string optional
customer__updated__lte
string optional
customer__updated__gt
string optional
customer__updated__gte
string optional
customer__updated__in
string optional

Multiple values may be separated by commas.

customer__updated__year
number optional
customer__updated__year__lt
number optional
customer__updated__year__lte
number optional
customer__updated__year__gt
number optional
customer__updated__year__gte
number optional
customer__updated__year__in
number optional

Multiple values may be separated by commas.

customer__updated__month
number optional
customer__updated__month__lt
number optional
customer__updated__month__lte
number optional
customer__updated__month__gt
number optional
customer__updated__month__gte
number optional
customer__updated__month__in
number optional

Multiple values may be separated by commas.

customer__updated__day
number optional
customer__updated__day__lt
number optional
customer__updated__day__lte
number optional
customer__updated__day__gt
number optional
customer__updated__day__gte
number optional
customer__updated__day__in
number optional

Multiple values may be separated by commas.

customer__end_user
string optional
customer__end_user__lt
string optional
customer__end_user__lte
string optional
customer__end_user__gt
string optional
customer__end_user__gte
string optional
customer__end_user__in
string optional

Multiple values may be separated by commas.

customer__go_cardless_id
string optional
customer__go_cardless_id__iexact
string optional
customer__go_cardless_id__contains
string optional
customer__go_cardless_id__icontains
string optional
customer__go_cardless_id__in
string optional

Multiple values may be separated by commas.

customer__end_user__id
string optional
customer__end_user__id__iexact
string optional
customer__end_user__id__contains
string optional
customer__end_user__id__icontains
string optional
customer__end_user__id__in
string optional

Multiple values may be separated by commas.

customer__end_user__created
string optional
customer__end_user__created__lt
string optional
customer__end_user__created__lte
string optional
customer__end_user__created__gt
string optional
customer__end_user__created__gte
string optional
customer__end_user__created__in
string optional

Multiple values may be separated by commas.

customer__end_user__created__year
number optional
customer__end_user__created__year__lt
number optional
customer__end_user__created__year__lte
number optional
customer__end_user__created__year__gt
number optional
customer__end_user__created__year__gte
number optional
customer__end_user__created__year__in
number optional

Multiple values may be separated by commas.

customer__end_user__created__month
number optional
customer__end_user__created__month__lt
number optional
customer__end_user__created__month__lte
number optional
customer__end_user__created__month__gt
number optional
customer__end_user__created__month__gte
number optional
customer__end_user__created__month__in
number optional

Multiple values may be separated by commas.

customer__end_user__created__day
number optional
customer__end_user__created__day__lt
number optional
customer__end_user__created__day__lte
number optional
customer__end_user__created__day__gt
number optional
customer__end_user__created__day__gte
number optional
customer__end_user__created__day__in
number optional

Multiple values may be separated by commas.

customer__end_user__updated
string optional
customer__end_user__updated__lt
string optional
customer__end_user__updated__lte
string optional
customer__end_user__updated__gt
string optional
customer__end_user__updated__gte
string optional
customer__end_user__updated__in
string optional

Multiple values may be separated by commas.

customer__end_user__updated__year
number optional
customer__end_user__updated__year__lt
number optional
customer__end_user__updated__year__lte
number optional
customer__end_user__updated__year__gt
number optional
customer__end_user__updated__year__gte
number optional
customer__end_user__updated__year__in
number optional

Multiple values may be separated by commas.

customer__end_user__updated__month
number optional
customer__end_user__updated__month__lt
number optional
customer__end_user__updated__month__lte
number optional
customer__end_user__updated__month__gt
number optional
customer__end_user__updated__month__gte
number optional
customer__end_user__updated__month__in
number optional

Multiple values may be separated by commas.

customer__end_user__updated__day
number optional
customer__end_user__updated__day__lt
number optional
customer__end_user__updated__day__lte
number optional
customer__end_user__updated__day__gt
number optional
customer__end_user__updated__day__gte
number optional
customer__end_user__updated__day__in
number optional

Multiple values may be separated by commas.

customer__end_user__first_name
string optional
customer__end_user__first_name__iexact
string optional
customer__end_user__first_name__contains
string optional
customer__end_user__first_name__icontains
string optional
customer__end_user__first_name__in
string optional

Multiple values may be separated by commas.

customer__end_user__last_name
string optional
customer__end_user__last_name__iexact
string optional
customer__end_user__last_name__contains
string optional
customer__end_user__last_name__icontains
string optional
customer__end_user__last_name__in
string optional

Multiple values may be separated by commas.

customer__end_user__birth_date
string optional
customer__end_user__birth_date__lt
string optional
customer__end_user__birth_date__lte
string optional
customer__end_user__birth_date__gt
string optional
customer__end_user__birth_date__gte
string optional
customer__end_user__birth_date__in
string optional

Multiple values may be separated by commas.

customer__end_user__birth_date__year
number optional
customer__end_user__birth_date__year__lt
number optional
customer__end_user__birth_date__year__lte
number optional
customer__end_user__birth_date__year__gt
number optional
customer__end_user__birth_date__year__gte
number optional
customer__end_user__birth_date__year__in
number optional

Multiple values may be separated by commas.

customer__end_user__birth_date__month
number optional
customer__end_user__birth_date__month__lt
number optional
customer__end_user__birth_date__month__lte
number optional
customer__end_user__birth_date__month__gt
number optional
customer__end_user__birth_date__month__gte
number optional
customer__end_user__birth_date__month__in
number optional

Multiple values may be separated by commas.

customer__end_user__birth_date__day
number optional
customer__end_user__birth_date__day__lt
number optional
customer__end_user__birth_date__day__lte
number optional
customer__end_user__birth_date__day__gt
number optional
customer__end_user__birth_date__day__gte
number optional
customer__end_user__birth_date__day__in
number optional

Multiple values may be separated by commas.

customer__end_user__address_line_1
string optional
customer__end_user__address_line_1__iexact
string optional
customer__end_user__address_line_1__contains
string optional
customer__end_user__address_line_1__icontains
string optional
customer__end_user__address_line_1__in
string optional

Multiple values may be separated by commas.

customer__end_user__address_line_2
string optional
customer__end_user__address_line_2__iexact
string optional
customer__end_user__address_line_2__contains
string optional
customer__end_user__address_line_2__icontains
string optional
customer__end_user__address_line_2__in
string optional

Multiple values may be separated by commas.

customer__end_user__address_line_3
string optional
customer__end_user__address_line_3__iexact
string optional
customer__end_user__address_line_3__contains
string optional
customer__end_user__address_line_3__icontains
string optional
customer__end_user__address_line_3__in
string optional

Multiple values may be separated by commas.

customer__end_user__city
string optional
customer__end_user__city__iexact
string optional
customer__end_user__city__contains
string optional
customer__end_user__city__icontains
string optional
customer__end_user__city__in
string optional

Multiple values may be separated by commas.

customer__end_user__postal_code
string optional
customer__end_user__postal_code__iexact
string optional
customer__end_user__postal_code__contains
string optional
customer__end_user__postal_code__icontains
string optional
customer__end_user__postal_code__in
string optional

Multiple values may be separated by commas.

customer__end_user__country
string optional
customer__end_user__country__iexact
string optional
customer__end_user__country__contains
string optional
customer__end_user__country__icontains
string optional
customer__end_user__country__in
string optional

Multiple values may be separated by commas.

customer__end_user__bank_account_number
string optional
customer__end_user__bank_account_number__iexact
string optional
customer__end_user__bank_account_number__contains
string optional
customer__end_user__bank_account_number__icontains
string optional
customer__end_user__bank_account_number__in
string optional

Multiple values may be separated by commas.

customer__end_user__sort_code
string optional
customer__end_user__sort_code__iexact
string optional
customer__end_user__sort_code__contains
string optional
customer__end_user__sort_code__icontains
string optional
customer__end_user__sort_code__in
string optional

Multiple values may be separated by commas.

customer__end_user__mobile_number
string optional
customer__end_user__mobile_number__iexact
string optional
customer__end_user__mobile_number__contains
string optional
customer__end_user__mobile_number__icontains
string optional
customer__end_user__mobile_number__in
string optional

Multiple values may be separated by commas.

customer__end_user__email
string optional
customer__end_user__email__iexact
string optional
customer__end_user__email__contains
string optional
customer__end_user__email__icontains
string optional
customer__end_user__email__in
string optional

Multiple values may be separated by commas.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Get a filtered list of mandates
GET /api/v1/collections/go_cardless_mandate/

Authentication

api_key

Override for getting csv file for query with filter and without pagination

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

id
string optional
id__iexact
string optional
id__contains
string optional
id__icontains
string optional
id__in
string optional

Multiple values may be separated by commas.

created
string optional
created__lt
string optional
created__lte
string optional
created__gt
string optional
created__gte
string optional
created__in
string optional

Multiple values may be separated by commas.

created__year
number optional
created__year__lt
number optional
created__year__lte
number optional
created__year__gt
number optional
created__year__gte
number optional
created__year__in
number optional

Multiple values may be separated by commas.

created__month
number optional
created__month__lt
number optional
created__month__lte
number optional
created__month__gt
number optional
created__month__gte
number optional
created__month__in
number optional

Multiple values may be separated by commas.

created__day
number optional
created__day__lt
number optional
created__day__lte
number optional
created__day__gt
number optional
created__day__gte
number optional
created__day__in
number optional

Multiple values may be separated by commas.

updated
string optional
updated__lt
string optional
updated__lte
string optional
updated__gt
string optional
updated__gte
string optional
updated__in
string optional

Multiple values may be separated by commas.

updated__year
number optional
updated__year__lt
number optional
updated__year__lte
number optional
updated__year__gt
number optional
updated__year__gte
number optional
updated__year__in
number optional

Multiple values may be separated by commas.

updated__month
number optional
updated__month__lt
number optional
updated__month__lte
number optional
updated__month__gt
number optional
updated__month__gte
number optional
updated__month__in
number optional

Multiple values may be separated by commas.

updated__day
number optional
updated__day__lt
number optional
updated__day__lte
number optional
updated__day__gt
number optional
updated__day__gte
number optional
updated__day__in
number optional

Multiple values may be separated by commas.

customer
string optional

End user id

customer__in
string optional

Multiple values of end user ID, may be separated by commas.

mandate_id
string optional
mandate_id__iexact
string optional
mandate_id__contains
string optional
mandate_id__icontains
string optional
mandate_id__in
string optional

Multiple values may be separated by commas.

status
string optional
status__iexact
string optional
status__contains
string optional
status__icontains
string optional
status__in
string optional

Multiple values may be separated by commas.

account_number_ending
string optional
account_number_ending__iexact
string optional
account_number_ending__contains
string optional
account_number_ending__icontains
string optional
account_number_ending__in
string optional

Multiple values may be separated by commas.

account_holder_name
string optional
account_holder_name__iexact
string optional
account_holder_name__contains
string optional
account_holder_name__icontains
string optional
account_holder_name__in
string optional

Multiple values may be separated by commas.

bank_name
string optional
bank_name__iexact
string optional
bank_name__contains
string optional
bank_name__icontains
string optional
bank_name__in
string optional

Multiple values may be separated by commas.

customer__id
string optional
customer__id__iexact
string optional
customer__id__contains
string optional
customer__id__icontains
string optional
customer__id__in
string optional

Multiple values may be separated by commas.

customer__created
string optional
customer__created__lt
string optional
customer__created__lte
string optional
customer__created__gt
string optional
customer__created__gte
string optional
customer__created__in
string optional

Multiple values may be separated by commas.

customer__created__year
number optional
customer__created__year__lt
number optional
customer__created__year__lte
number optional
customer__created__year__gt
number optional
customer__created__year__gte
number optional
customer__created__year__in
number optional

Multiple values may be separated by commas.

customer__created__month
number optional
customer__created__month__lt
number optional
customer__created__month__lte
number optional
customer__created__month__gt
number optional
customer__created__month__gte
number optional
customer__created__month__in
number optional

Multiple values may be separated by commas.

customer__created__day
number optional
customer__created__day__lt
number optional
customer__created__day__lte
number optional
customer__created__day__gt
number optional
customer__created__day__gte
number optional
customer__created__day__in
number optional

Multiple values may be separated by commas.

customer__updated
string optional
customer__updated__lt
string optional
customer__updated__lte
string optional
customer__updated__gt
string optional
customer__updated__gte
string optional
customer__updated__in
string optional

Multiple values may be separated by commas.

customer__updated__year
number optional
customer__updated__year__lt
number optional
customer__updated__year__lte
number optional
customer__updated__year__gt
number optional
customer__updated__year__gte
number optional
customer__updated__year__in
number optional

Multiple values may be separated by commas.

customer__updated__month
number optional
customer__updated__month__lt
number optional
customer__updated__month__lte
number optional
customer__updated__month__gt
number optional
customer__updated__month__gte
number optional
customer__updated__month__in
number optional

Multiple values may be separated by commas.

customer__updated__day
number optional
customer__updated__day__lt
number optional
customer__updated__day__lte
number optional
customer__updated__day__gt
number optional
customer__updated__day__gte
number optional
customer__updated__day__in
number optional

Multiple values may be separated by commas.

customer__end_user
string optional
customer__end_user__lt
string optional
customer__end_user__lte
string optional
customer__end_user__gt
string optional
customer__end_user__gte
string optional
customer__end_user__in
string optional

Multiple values may be separated by commas.

customer__go_cardless_id
string optional
customer__go_cardless_id__iexact
string optional
customer__go_cardless_id__contains
string optional
customer__go_cardless_id__icontains
string optional
customer__go_cardless_id__in
string optional

Multiple values may be separated by commas.

customer__end_user__id
string optional
customer__end_user__id__iexact
string optional
customer__end_user__id__contains
string optional
customer__end_user__id__icontains
string optional
customer__end_user__id__in
string optional

Multiple values may be separated by commas.

customer__end_user__created
string optional
customer__end_user__created__lt
string optional
customer__end_user__created__lte
string optional
customer__end_user__created__gt
string optional
customer__end_user__created__gte
string optional
customer__end_user__created__in
string optional

Multiple values may be separated by commas.

customer__end_user__created__year
number optional
customer__end_user__created__year__lt
number optional
customer__end_user__created__year__lte
number optional
customer__end_user__created__year__gt
number optional
customer__end_user__created__year__gte
number optional
customer__end_user__created__year__in
number optional

Multiple values may be separated by commas.

customer__end_user__created__month
number optional
customer__end_user__created__month__lt
number optional
customer__end_user__created__month__lte
number optional
customer__end_user__created__month__gt
number optional
customer__end_user__created__month__gte
number optional
customer__end_user__created__month__in
number optional

Multiple values may be separated by commas.

customer__end_user__created__day
number optional
customer__end_user__created__day__lt
number optional
customer__end_user__created__day__lte
number optional
customer__end_user__created__day__gt
number optional
customer__end_user__created__day__gte
number optional
customer__end_user__created__day__in
number optional

Multiple values may be separated by commas.

customer__end_user__updated
string optional
customer__end_user__updated__lt
string optional
customer__end_user__updated__lte
string optional
customer__end_user__updated__gt
string optional
customer__end_user__updated__gte
string optional
customer__end_user__updated__in
string optional

Multiple values may be separated by commas.

customer__end_user__updated__year
number optional
customer__end_user__updated__year__lt
number optional
customer__end_user__updated__year__lte
number optional
customer__end_user__updated__year__gt
number optional
customer__end_user__updated__year__gte
number optional
customer__end_user__updated__year__in
number optional

Multiple values may be separated by commas.

customer__end_user__updated__month
number optional
customer__end_user__updated__month__lt
number optional
customer__end_user__updated__month__lte
number optional
customer__end_user__updated__month__gt
number optional
customer__end_user__updated__month__gte
number optional
customer__end_user__updated__month__in
number optional

Multiple values may be separated by commas.

customer__end_user__updated__day
number optional
customer__end_user__updated__day__lt
number optional
customer__end_user__updated__day__lte
number optional
customer__end_user__updated__day__gt
number optional
customer__end_user__updated__day__gte
number optional
customer__end_user__updated__day__in
number optional

Multiple values may be separated by commas.

customer__end_user__first_name
string optional
customer__end_user__first_name__iexact
string optional
customer__end_user__first_name__contains
string optional
customer__end_user__first_name__icontains
string optional
customer__end_user__first_name__in
string optional

Multiple values may be separated by commas.

customer__end_user__last_name
string optional
customer__end_user__last_name__iexact
string optional
customer__end_user__last_name__contains
string optional
customer__end_user__last_name__icontains
string optional
customer__end_user__last_name__in
string optional

Multiple values may be separated by commas.

customer__end_user__birth_date
string optional
customer__end_user__birth_date__lt
string optional
customer__end_user__birth_date__lte
string optional
customer__end_user__birth_date__gt
string optional
customer__end_user__birth_date__gte
string optional
customer__end_user__birth_date__in
string optional

Multiple values may be separated by commas.

customer__end_user__birth_date__year
number optional
customer__end_user__birth_date__year__lt
number optional
customer__end_user__birth_date__year__lte
number optional
customer__end_user__birth_date__year__gt
number optional
customer__end_user__birth_date__year__gte
number optional
customer__end_user__birth_date__year__in
number optional

Multiple values may be separated by commas.

customer__end_user__birth_date__month
number optional
customer__end_user__birth_date__month__lt
number optional
customer__end_user__birth_date__month__lte
number optional
customer__end_user__birth_date__month__gt
number optional
customer__end_user__birth_date__month__gte
number optional
customer__end_user__birth_date__month__in
number optional

Multiple values may be separated by commas.

customer__end_user__birth_date__day
number optional
customer__end_user__birth_date__day__lt
number optional
customer__end_user__birth_date__day__lte
number optional
customer__end_user__birth_date__day__gt
number optional
customer__end_user__birth_date__day__gte
number optional
customer__end_user__birth_date__day__in
number optional

Multiple values may be separated by commas.

customer__end_user__address_line_1
string optional
customer__end_user__address_line_1__iexact
string optional
customer__end_user__address_line_1__contains
string optional
customer__end_user__address_line_1__icontains
string optional
customer__end_user__address_line_1__in
string optional

Multiple values may be separated by commas.

customer__end_user__address_line_2
string optional
customer__end_user__address_line_2__iexact
string optional
customer__end_user__address_line_2__contains
string optional
customer__end_user__address_line_2__icontains
string optional
customer__end_user__address_line_2__in
string optional

Multiple values may be separated by commas.

customer__end_user__address_line_3
string optional
customer__end_user__address_line_3__iexact
string optional
customer__end_user__address_line_3__contains
string optional
customer__end_user__address_line_3__icontains
string optional
customer__end_user__address_line_3__in
string optional

Multiple values may be separated by commas.

customer__end_user__city
string optional
customer__end_user__city__iexact
string optional
customer__end_user__city__contains
string optional
customer__end_user__city__icontains
string optional
customer__end_user__city__in
string optional

Multiple values may be separated by commas.

customer__end_user__postal_code
string optional
customer__end_user__postal_code__iexact
string optional
customer__end_user__postal_code__contains
string optional
customer__end_user__postal_code__icontains
string optional
customer__end_user__postal_code__in
string optional

Multiple values may be separated by commas.

customer__end_user__country
string optional
customer__end_user__country__iexact
string optional
customer__end_user__country__contains
string optional
customer__end_user__country__icontains
string optional
customer__end_user__country__in
string optional

Multiple values may be separated by commas.

customer__end_user__bank_account_number
string optional
customer__end_user__bank_account_number__iexact
string optional
customer__end_user__bank_account_number__contains
string optional
customer__end_user__bank_account_number__icontains
string optional
customer__end_user__bank_account_number__in
string optional

Multiple values may be separated by commas.

customer__end_user__sort_code
string optional
customer__end_user__sort_code__iexact
string optional
customer__end_user__sort_code__contains
string optional
customer__end_user__sort_code__icontains
string optional
customer__end_user__sort_code__in
string optional

Multiple values may be separated by commas.

customer__end_user__mobile_number
string optional
customer__end_user__mobile_number__iexact
string optional
customer__end_user__mobile_number__contains
string optional
customer__end_user__mobile_number__icontains
string optional
customer__end_user__mobile_number__in
string optional

Multiple values may be separated by commas.

customer__end_user__email
string optional
customer__end_user__email__iexact
string optional
customer__end_user__email__contains
string optional
customer__end_user__email__icontains
string optional
customer__end_user__email__in
string optional

Multiple values may be separated by commas.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Statements
GET /api/v1/statement/
GET /api/v1/statement/{id}/
Get a filtered list of statements
GET /api/v1/statement/

Authentication

api_key

Override for getting csv file for query with filter and without pagination

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

id
string optional
id__iexact
string optional
id__contains
string optional
id__icontains
string optional
id__in
string optional

Multiple values may be separated by commas.

created
string optional
created__lt
string optional
created__lte
string optional
created__gt
string optional
created__gte
string optional
created__in
string optional

Multiple values may be separated by commas.

created__year
number optional
created__year__lt
number optional
created__year__lte
number optional
created__year__gt
number optional
created__year__gte
number optional
created__year__in
number optional

Multiple values may be separated by commas.

created__month
number optional
created__month__lt
number optional
created__month__lte
number optional
created__month__gt
number optional
created__month__gte
number optional
created__month__in
number optional

Multiple values may be separated by commas.

created__day
number optional
created__day__lt
number optional
created__day__lte
number optional
created__day__gt
number optional
created__day__gte
number optional
created__day__in
number optional

Multiple values may be separated by commas.

updated
string optional
updated__lt
string optional
updated__lte
string optional
updated__gt
string optional
updated__gte
string optional
updated__in
string optional

Multiple values may be separated by commas.

updated__year
number optional
updated__year__lt
number optional
updated__year__lte
number optional
updated__year__gt
number optional
updated__year__gte
number optional
updated__year__in
number optional

Multiple values may be separated by commas.

updated__month
number optional
updated__month__lt
number optional
updated__month__lte
number optional
updated__month__gt
number optional
updated__month__gte
number optional
updated__month__in
number optional

Multiple values may be separated by commas.

updated__day
number optional
updated__day__lt
number optional
updated__day__lte
number optional
updated__day__gt
number optional
updated__day__gte
number optional
updated__day__in
number optional

Multiple values may be separated by commas.

loan
string optional
loan__lt
string optional
loan__lte
string optional
loan__gt
string optional
loan__gte
string optional
loan__in
string optional

Multiple values may be separated by commas.

start_date
string optional
start_date__lt
string optional
start_date__lte
string optional
start_date__gt
string optional
start_date__gte
string optional
start_date__in
string optional

Multiple values may be separated by commas.

start_date__year
number optional
start_date__year__lt
number optional
start_date__year__lte
number optional
start_date__year__gt
number optional
start_date__year__gte
number optional
start_date__year__in
number optional

Multiple values may be separated by commas.

start_date__month
number optional
start_date__month__lt
number optional
start_date__month__lte
number optional
start_date__month__gt
number optional
start_date__month__gte
number optional
start_date__month__in
number optional

Multiple values may be separated by commas.

start_date__day
number optional
start_date__day__lt
number optional
start_date__day__lte
number optional
start_date__day__gt
number optional
start_date__day__gte
number optional
start_date__day__in
number optional

Multiple values may be separated by commas.

end_date
string optional
end_date__lt
string optional
end_date__lte
string optional
end_date__gt
string optional
end_date__gte
string optional
end_date__in
string optional

Multiple values may be separated by commas.

end_date__year
number optional
end_date__year__lt
number optional
end_date__year__lte
number optional
end_date__year__gt
number optional
end_date__year__gte
number optional
end_date__year__in
number optional

Multiple values may be separated by commas.

end_date__month
number optional
end_date__month__lt
number optional
end_date__month__lte
number optional
end_date__month__gt
number optional
end_date__month__gte
number optional
end_date__month__in
number optional

Multiple values may be separated by commas.

end_date__day
number optional
end_date__day__lt
number optional
end_date__day__lte
number optional
end_date__day__gt
number optional
end_date__day__gte
number optional
end_date__day__in
number optional

Multiple values may be separated by commas.

repayment_due_date
string optional
repayment_due_date__lt
string optional
repayment_due_date__lte
string optional
repayment_due_date__gt
string optional
repayment_due_date__gte
string optional
repayment_due_date__in
string optional

Multiple values may be separated by commas.

repayment_due_date__year
number optional
repayment_due_date__year__lt
number optional
repayment_due_date__year__lte
number optional
repayment_due_date__year__gt
number optional
repayment_due_date__year__gte
number optional
repayment_due_date__year__in
number optional

Multiple values may be separated by commas.

repayment_due_date__month
number optional
repayment_due_date__month__lt
number optional
repayment_due_date__month__lte
number optional
repayment_due_date__month__gt
number optional
repayment_due_date__month__gte
number optional
repayment_due_date__month__in
number optional

Multiple values may be separated by commas.

repayment_due_date__day
number optional
repayment_due_date__day__lt
number optional
repayment_due_date__day__lte
number optional
repayment_due_date__day__gt
number optional
repayment_due_date__day__gte
number optional
repayment_due_date__day__in
number optional

Multiple values may be separated by commas.

arrears_date
string optional
arrears_date__lt
string optional
arrears_date__lte
string optional
arrears_date__gt
string optional
arrears_date__gte
string optional
arrears_date__in
string optional

Multiple values may be separated by commas.

arrears_date__year
number optional
arrears_date__year__lt
number optional
arrears_date__year__lte
number optional
arrears_date__year__gt
number optional
arrears_date__year__gte
number optional
arrears_date__year__in
number optional

Multiple values may be separated by commas.

arrears_date__month
number optional
arrears_date__month__lt
number optional
arrears_date__month__lte
number optional
arrears_date__month__gt
number optional
arrears_date__month__gte
number optional
arrears_date__month__in
number optional

Multiple values may be separated by commas.

arrears_date__day
number optional
arrears_date__day__lt
number optional
arrears_date__day__lte
number optional
arrears_date__day__gt
number optional
arrears_date__day__gte
number optional
arrears_date__day__in
number optional

Multiple values may be separated by commas.

status
string optional
status__iexact
string optional
status__contains
string optional
status__icontains
string optional
status__in
string optional

Multiple values may be separated by commas.

balance
number optional
balance__lt
number optional
balance__lte
number optional
balance__gt
number optional
balance__gte
number optional
balance__in
number optional

Multiple values may be separated by commas.

minimal_repayment
number optional
minimal_repayment__lt
number optional
minimal_repayment__lte
number optional
minimal_repayment__gt
number optional
minimal_repayment__gte
number optional
minimal_repayment__in
number optional

Multiple values may be separated by commas.

loan__id
string optional
loan__id__iexact
string optional
loan__id__contains
string optional
loan__id__icontains
string optional
loan__id__in
string optional

Multiple values may be separated by commas.

loan__created
string optional
loan__created__lt
string optional
loan__created__lte
string optional
loan__created__gt
string optional
loan__created__gte
string optional
loan__created__in
string optional

Multiple values may be separated by commas.

loan__created__year
number optional
loan__created__year__lt
number optional
loan__created__year__lte
number optional
loan__created__year__gt
number optional
loan__created__year__gte
number optional
loan__created__year__in
number optional

Multiple values may be separated by commas.

loan__created__month
number optional
loan__created__month__lt
number optional
loan__created__month__lte
number optional
loan__created__month__gt
number optional
loan__created__month__gte
number optional
loan__created__month__in
number optional

Multiple values may be separated by commas.

loan__created__day
number optional
loan__created__day__lt
number optional
loan__created__day__lte
number optional
loan__created__day__gt
number optional
loan__created__day__gte
number optional
loan__created__day__in
number optional

Multiple values may be separated by commas.

loan__updated
string optional
loan__updated__lt
string optional
loan__updated__lte
string optional
loan__updated__gt
string optional
loan__updated__gte
string optional
loan__updated__in
string optional

Multiple values may be separated by commas.

loan__updated__year
number optional
loan__updated__year__lt
number optional
loan__updated__year__lte
number optional
loan__updated__year__gt
number optional
loan__updated__year__gte
number optional
loan__updated__year__in
number optional

Multiple values may be separated by commas.

loan__updated__month
number optional
loan__updated__month__lt
number optional
loan__updated__month__lte
number optional
loan__updated__month__gt
number optional
loan__updated__month__gte
number optional
loan__updated__month__in
number optional

Multiple values may be separated by commas.

loan__updated__day
number optional
loan__updated__day__lt
number optional
loan__updated__day__lte
number optional
loan__updated__day__gt
number optional
loan__updated__day__gte
number optional
loan__updated__day__in
number optional

Multiple values may be separated by commas.

loan__application
string optional
loan__application__lt
string optional
loan__application__lte
string optional
loan__application__gt
string optional
loan__application__gte
string optional
loan__application__in
string optional

Multiple values may be separated by commas.

loan__end_user
string optional
loan__end_user__lt
string optional
loan__end_user__lte
string optional
loan__end_user__gt
string optional
loan__end_user__gte
string optional
loan__end_user__in
string optional

Multiple values may be separated by commas.

loan__amount
number optional
loan__amount__lt
number optional
loan__amount__lte
number optional
loan__amount__gt
number optional
loan__amount__gte
number optional
loan__amount__in
number optional

Multiple values may be separated by commas.

loan__interest_rate
number optional
loan__interest_rate__lt
number optional
loan__interest_rate__lte
number optional
loan__interest_rate__gt
number optional
loan__interest_rate__gte
number optional
loan__interest_rate__in
number optional

Multiple values may be separated by commas.

loan__installments
number optional
loan__installments__lt
number optional
loan__installments__lte
number optional
loan__installments__gt
number optional
loan__installments__gte
number optional
loan__installments__in
number optional

Multiple values may be separated by commas.

loan__grace_instalments
number optional
loan__grace_instalments__lt
number optional
loan__grace_instalments__lte
number optional
loan__grace_instalments__gt
number optional
loan__grace_instalments__gte
number optional
loan__grace_instalments__in
number optional

Multiple values may be separated by commas.

loan__principal_repayment_grace
number optional
loan__principal_repayment_grace__lt
number optional
loan__principal_repayment_grace__lte
number optional
loan__principal_repayment_grace__gt
number optional
loan__principal_repayment_grace__gte
number optional
loan__principal_repayment_grace__in
number optional

Multiple values may be separated by commas.

loan__arrears_tolerance
number optional
loan__arrears_tolerance__lt
number optional
loan__arrears_tolerance__lte
number optional
loan__arrears_tolerance__gt
number optional
loan__arrears_tolerance__gte
number optional
loan__arrears_tolerance__in
number optional

Multiple values may be separated by commas.

loan__status
string optional
loan__status__iexact
string optional
loan__status__contains
string optional
loan__status__icontains
string optional
loan__status__in
string optional

Multiple values may be separated by commas.

loan__principal
number optional
loan__principal__lt
number optional
loan__principal__lte
number optional
loan__principal__gt
number optional
loan__principal__gte
number optional
loan__principal__in
number optional

Multiple values may be separated by commas.

loan__interest
number optional
loan__interest__lt
number optional
loan__interest__lte
number optional
loan__interest__gt
number optional
loan__interest__gte
number optional
loan__interest__in
number optional

Multiple values may be separated by commas.

loan__fee
number optional
loan__fee__lt
number optional
loan__fee__lte
number optional
loan__fee__gt
number optional
loan__fee__gte
number optional
loan__fee__in
number optional

Multiple values may be separated by commas.

loan__pending_principal
number optional
loan__pending_principal__lt
number optional
loan__pending_principal__lte
number optional
loan__pending_principal__gt
number optional
loan__pending_principal__gte
number optional
loan__pending_principal__in
number optional

Multiple values may be separated by commas.

loan__pending_interest
number optional
loan__pending_interest__lt
number optional
loan__pending_interest__lte
number optional
loan__pending_interest__gt
number optional
loan__pending_interest__gte
number optional
loan__pending_interest__in
number optional

Multiple values may be separated by commas.

loan__pending_fee
number optional
loan__pending_fee__lt
number optional
loan__pending_fee__lte
number optional
loan__pending_fee__gt
number optional
loan__pending_fee__gte
number optional
loan__pending_fee__in
number optional

Multiple values may be separated by commas.

loan__last_transaction
string optional
loan__last_transaction__lt
string optional
loan__last_transaction__lte
string optional
loan__last_transaction__gt
string optional
loan__last_transaction__gte
string optional
loan__last_transaction__in
string optional

Multiple values may be separated by commas.

loan__close_substatus
string optional
loan__close_substatus__iexact
string optional
loan__close_substatus__contains
string optional
loan__close_substatus__icontains
string optional
loan__close_substatus__in
string optional

Multiple values may be separated by commas.

loan__close_reason
string optional
loan__close_reason__iexact
string optional
loan__close_reason__contains
string optional
loan__close_reason__icontains
string optional
loan__close_reason__in
string optional

Multiple values may be separated by commas.

loan__business_days_in_period
number optional
loan__business_days_in_period__lt
number optional
loan__business_days_in_period__lte
number optional
loan__business_days_in_period__gt
number optional
loan__business_days_in_period__gte
number optional
loan__business_days_in_period__in
number optional

Multiple values may be separated by commas.

loan__end_user__id
string optional
loan__end_user__id__iexact
string optional
loan__end_user__id__contains
string optional
loan__end_user__id__icontains
string optional
loan__end_user__id__in
string optional

Multiple values may be separated by commas.

loan__end_user__created
string optional
loan__end_user__created__lt
string optional
loan__end_user__created__lte
string optional
loan__end_user__created__gt
string optional
loan__end_user__created__gte
string optional
loan__end_user__created__in
string optional

Multiple values may be separated by commas.

loan__end_user__created__year
number optional
loan__end_user__created__year__lt
number optional
loan__end_user__created__year__lte
number optional
loan__end_user__created__year__gt
number optional
loan__end_user__created__year__gte
number optional
loan__end_user__created__year__in
number optional

Multiple values may be separated by commas.

loan__end_user__created__month
number optional
loan__end_user__created__month__lt
number optional
loan__end_user__created__month__lte
number optional
loan__end_user__created__month__gt
number optional
loan__end_user__created__month__gte
number optional
loan__end_user__created__month__in
number optional

Multiple values may be separated by commas.

loan__end_user__created__day
number optional
loan__end_user__created__day__lt
number optional
loan__end_user__created__day__lte
number optional
loan__end_user__created__day__gt
number optional
loan__end_user__created__day__gte
number optional
loan__end_user__created__day__in
number optional

Multiple values may be separated by commas.

loan__end_user__updated
string optional
loan__end_user__updated__lt
string optional
loan__end_user__updated__lte
string optional
loan__end_user__updated__gt
string optional
loan__end_user__updated__gte
string optional
loan__end_user__updated__in
string optional

Multiple values may be separated by commas.

loan__end_user__updated__year
number optional
loan__end_user__updated__year__lt
number optional
loan__end_user__updated__year__lte
number optional
loan__end_user__updated__year__gt
number optional
loan__end_user__updated__year__gte
number optional
loan__end_user__updated__year__in
number optional

Multiple values may be separated by commas.

loan__end_user__updated__month
number optional
loan__end_user__updated__month__lt
number optional
loan__end_user__updated__month__lte
number optional
loan__end_user__updated__month__gt
number optional
loan__end_user__updated__month__gte
number optional
loan__end_user__updated__month__in
number optional

Multiple values may be separated by commas.

loan__end_user__updated__day
number optional
loan__end_user__updated__day__lt
number optional
loan__end_user__updated__day__lte
number optional
loan__end_user__updated__day__gt
number optional
loan__end_user__updated__day__gte
number optional
loan__end_user__updated__day__in
number optional

Multiple values may be separated by commas.

loan__end_user__first_name
string optional
loan__end_user__first_name__iexact
string optional
loan__end_user__first_name__contains
string optional
loan__end_user__first_name__icontains
string optional
loan__end_user__first_name__in
string optional

Multiple values may be separated by commas.

loan__end_user__last_name
string optional
loan__end_user__last_name__iexact
string optional
loan__end_user__last_name__contains
string optional
loan__end_user__last_name__icontains
string optional
loan__end_user__last_name__in
string optional

Multiple values may be separated by commas.

loan__end_user__birth_date
string optional
loan__end_user__birth_date__lt
string optional
loan__end_user__birth_date__lte
string optional
loan__end_user__birth_date__gt
string optional
loan__end_user__birth_date__gte
string optional
loan__end_user__birth_date__in
string optional

Multiple values may be separated by commas.

loan__end_user__birth_date__year
number optional
loan__end_user__birth_date__year__lt
number optional
loan__end_user__birth_date__year__lte
number optional
loan__end_user__birth_date__year__gt
number optional
loan__end_user__birth_date__year__gte
number optional
loan__end_user__birth_date__year__in
number optional

Multiple values may be separated by commas.

loan__end_user__birth_date__month
number optional
loan__end_user__birth_date__month__lt
number optional
loan__end_user__birth_date__month__lte
number optional
loan__end_user__birth_date__month__gt
number optional
loan__end_user__birth_date__month__gte
number optional
loan__end_user__birth_date__month__in
number optional

Multiple values may be separated by commas.

loan__end_user__birth_date__day
number optional
loan__end_user__birth_date__day__lt
number optional
loan__end_user__birth_date__day__lte
number optional
loan__end_user__birth_date__day__gt
number optional
loan__end_user__birth_date__day__gte
number optional
loan__end_user__birth_date__day__in
number optional

Multiple values may be separated by commas.

loan__end_user__address_line_1
string optional
loan__end_user__address_line_1__iexact
string optional
loan__end_user__address_line_1__contains
string optional
loan__end_user__address_line_1__icontains
string optional
loan__end_user__address_line_1__in
string optional

Multiple values may be separated by commas.

loan__end_user__address_line_2
string optional
loan__end_user__address_line_2__iexact
string optional
loan__end_user__address_line_2__contains
string optional
loan__end_user__address_line_2__icontains
string optional
loan__end_user__address_line_2__in
string optional

Multiple values may be separated by commas.

loan__end_user__address_line_3
string optional
loan__end_user__address_line_3__iexact
string optional
loan__end_user__address_line_3__contains
string optional
loan__end_user__address_line_3__icontains
string optional
loan__end_user__address_line_3__in
string optional

Multiple values may be separated by commas.

loan__end_user__city
string optional
loan__end_user__city__iexact
string optional
loan__end_user__city__contains
string optional
loan__end_user__city__icontains
string optional
loan__end_user__city__in
string optional

Multiple values may be separated by commas.

loan__end_user__postal_code
string optional
loan__end_user__postal_code__iexact
string optional
loan__end_user__postal_code__contains
string optional
loan__end_user__postal_code__icontains
string optional
loan__end_user__postal_code__in
string optional

Multiple values may be separated by commas.

loan__end_user__country
string optional
loan__end_user__country__iexact
string optional
loan__end_user__country__contains
string optional
loan__end_user__country__icontains
string optional
loan__end_user__country__in
string optional

Multiple values may be separated by commas.

loan__end_user__bank_account_number
string optional
loan__end_user__bank_account_number__iexact
string optional
loan__end_user__bank_account_number__contains
string optional
loan__end_user__bank_account_number__icontains
string optional
loan__end_user__bank_account_number__in
string optional

Multiple values may be separated by commas.

loan__end_user__sort_code
string optional
loan__end_user__sort_code__iexact
string optional
loan__end_user__sort_code__contains
string optional
loan__end_user__sort_code__icontains
string optional
loan__end_user__sort_code__in
string optional

Multiple values may be separated by commas.

loan__end_user__mobile_number
string optional
loan__end_user__mobile_number__iexact
string optional
loan__end_user__mobile_number__contains
string optional
loan__end_user__mobile_number__icontains
string optional
loan__end_user__mobile_number__in
string optional

Multiple values may be separated by commas.

loan__end_user__email
string optional
loan__end_user__email__iexact
string optional
loan__end_user__email__contains
string optional
loan__end_user__email__icontains
string optional
loan__end_user__email__in
string optional

Multiple values may be separated by commas.

loan__application__id
string optional
loan__application__id__iexact
string optional
loan__application__id__contains
string optional
loan__application__id__icontains
string optional
loan__application__id__in
string optional

Multiple values may be separated by commas.

loan__application__created
string optional
loan__application__created__lt
string optional
loan__application__created__lte
string optional
loan__application__created__gt
string optional
loan__application__created__gte
string optional
loan__application__created__in
string optional

Multiple values may be separated by commas.

loan__application__created__year
number optional
loan__application__created__year__lt
number optional
loan__application__created__year__lte
number optional
loan__application__created__year__gt
number optional
loan__application__created__year__gte
number optional
loan__application__created__year__in
number optional

Multiple values may be separated by commas.

loan__application__created__month
number optional
loan__application__created__month__lt
number optional
loan__application__created__month__lte
number optional
loan__application__created__month__gt
number optional
loan__application__created__month__gte
number optional
loan__application__created__month__in
number optional

Multiple values may be separated by commas.

loan__application__created__day
number optional
loan__application__created__day__lt
number optional
loan__application__created__day__lte
number optional
loan__application__created__day__gt
number optional
loan__application__created__day__gte
number optional
loan__application__created__day__in
number optional

Multiple values may be separated by commas.

loan__application__updated
string optional
loan__application__updated__lt
string optional
loan__application__updated__lte
string optional
loan__application__updated__gt
string optional
loan__application__updated__gte
string optional
loan__application__updated__in
string optional

Multiple values may be separated by commas.

loan__application__updated__year
number optional
loan__application__updated__year__lt
number optional
loan__application__updated__year__lte
number optional
loan__application__updated__year__gt
number optional
loan__application__updated__year__gte
number optional
loan__application__updated__year__in
number optional

Multiple values may be separated by commas.

loan__application__updated__month
number optional
loan__application__updated__month__lt
number optional
loan__application__updated__month__lte
number optional
loan__application__updated__month__gt
number optional
loan__application__updated__month__gte
number optional
loan__application__updated__month__in
number optional

Multiple values may be separated by commas.

loan__application__updated__day
number optional
loan__application__updated__day__lt
number optional
loan__application__updated__day__lte
number optional
loan__application__updated__day__gt
number optional
loan__application__updated__day__gte
number optional
loan__application__updated__day__in
number optional

Multiple values may be separated by commas.

loan__application__status
string optional
loan__application__status__iexact
string optional
loan__application__status__contains
string optional
loan__application__status__icontains
string optional
loan__application__status__in
string optional

Multiple values may be separated by commas.

loan__application__product
string optional
loan__application__product__lt
string optional
loan__application__product__lte
string optional
loan__application__product__gt
string optional
loan__application__product__gte
string optional
loan__application__product__in
string optional

Multiple values may be separated by commas.

loan__application__end_user
string optional
loan__application__end_user__lt
string optional
loan__application__end_user__lte
string optional
loan__application__end_user__gt
string optional
loan__application__end_user__gte
string optional
loan__application__end_user__in
string optional

Multiple values may be separated by commas.

loan__application__amount
number optional
loan__application__amount__lt
number optional
loan__application__amount__lte
number optional
loan__application__amount__gt
number optional
loan__application__amount__gte
number optional
loan__application__amount__in
number optional

Multiple values may be separated by commas.

loan__application__installments
number optional
loan__application__installments__lt
number optional
loan__application__installments__lte
number optional
loan__application__installments__gt
number optional
loan__application__installments__gte
number optional
loan__application__installments__in
number optional

Multiple values may be separated by commas.

loan__application__rate
number optional
loan__application__rate__lt
number optional
loan__application__rate__lte
number optional
loan__application__rate__gt
number optional
loan__application__rate__gte
number optional
loan__application__rate__in
number optional

Multiple values may be separated by commas.

loan__application__reason
string optional
loan__application__reason__iexact
string optional
loan__application__reason__contains
string optional
loan__application__reason__icontains
string optional
loan__application__reason__in
string optional

Multiple values may be separated by commas.

loan__application__processing_finished_at
string optional
loan__application__processing_finished_at__lt
string optional
loan__application__processing_finished_at__lte
string optional
loan__application__processing_finished_at__gt
string optional
loan__application__processing_finished_at__gte
string optional
loan__application__processing_finished_at__in
string optional

Multiple values may be separated by commas.

loan__application__processing_finished_at__year
number optional
loan__application__processing_finished_at__year__lt
number optional
loan__application__processing_finished_at__year__lte
number optional
loan__application__processing_finished_at__year__gt
number optional
loan__application__processing_finished_at__year__gte
number optional
loan__application__processing_finished_at__year__in
number optional

Multiple values may be separated by commas.

loan__application__processing_finished_at__month
number optional
loan__application__processing_finished_at__month__lt
number optional
loan__application__processing_finished_at__month__lte
number optional
loan__application__processing_finished_at__month__gt
number optional
loan__application__processing_finished_at__month__gte
number optional
loan__application__processing_finished_at__month__in
number optional

Multiple values may be separated by commas.

loan__application__processing_finished_at__day
number optional
loan__application__processing_finished_at__day__lt
number optional
loan__application__processing_finished_at__day__lte
number optional
loan__application__processing_finished_at__day__gt
number optional
loan__application__processing_finished_at__day__gte
number optional
loan__application__processing_finished_at__day__in
number optional

Multiple values may be separated by commas.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Get a specific statement
GET /api/v1/statement/{id}/

Authentication

api_key

View set for retrieving statements

Path variables

id
string required

A UUID string identifying this Statement.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200

200

Payments
View set for payment
GET /api/v1/payments/account_balance/

Authentication

api_key

View set for payment

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Override for getting csv file for query with filter and without pagination
GET /api/v1/payments/

Authentication

api_key

Override for getting csv file for query with filter and without pagination

Request parameters

limit
integer optional

Number of results to return per page.

offset
integer optional

The initial index from which to return the results.

Request headers

X-API-Key
string required

This is the authentication header and should be set to the api-key recieved from Backbone… Every request must use it.

Responses

200 200
Schemas
Decision Engine Schemas
Input Source Response Schema
Input Source Request Schema
Object
input_name
string
input_type
string
Enumeration:
str
float
int
bool
Data Point Response Schema
Object
id
string
input_source
string

ID of the input source this data comes from

value
string
application
string

The ID of the application this data point relates to

Data Point Request Schema
Object
input_source
string

ID of the input source this data comes from

value
string
application
string

The ID of the application this data point relates to

Risk Engine Selector Response
Object
id
string

The ID of the selector

product
string

The ID of the product using this selector

riskengine_weights
Array

List of risk engines and their weights

Object
riskengine_version
string
weight
number
Risk Engine Selector Request
Object
product
string

The ID of the product using this selector

riskengine_weights
Array

List of risk engine versions and their weights. Sum of weights must be 1

Object
riskengine_version
string

Version of the risk engine to be selected from. Only active risk engines can be selected.

weight
number
Risk Engine Response
Object
id
string

Risk engine ID

version
string

Unique risk engine version

active
boolean

Determines whether the risk engine is active or not. Inactive engines cannot be added to a selector

scorecards
Array of string

List of scorecard IDs

Risk Engine Request Schema
Object
version
string

Risk engine version

active
boolean

Determines whether the risk engine is active

scorecards
Array of string

List of scorecard IDs

Scorecard Request Schema
Object
name
string

Scorecard name

threshold
number

The threshold that determies whether the application passed the scorecard or failed

stop_on_first_fail
boolean

Determines whether the calculation of the scorecard should stop on the first failing rule

rules
Array

Array of rules to be calculated

Object
rule_name
string
statement
string

This is the logic statment that will be calculated in the rule

Examples:
(100 * float({{some_input_source}}))/365500 if {{some_input_source}} == \'test\' else 1001000 if {{some_input_source}} else 0
weight
number

The weight of the rule in the scorecard. The sum of all weights in a scorecard must be 1

Min: 0
Max: 1
threshold
string

The threshold that determines whether the application passed the rule or failed

Risk Engine Request Schema
Object
version
string

The risk engine version. Must be unique

scorecards
Array of string

List of scorecard IDs

Decision Response Schema
Object
id
string
status
string
Enumeration:
pending
approved
declined
application
string

ID of the application

risk_engine_version
string

The version of the risk engine that processed the application

results
Object

The result object

final_decision
string

The final decision on the application

scorecards
Array

An array of the scorecards that were calculated during the assessment

Object
name
string

Scorecard name

decision
boolean

Scorecard decision

score
number

The calculated score of the scorecard

results
Array

The result of each rule in the scorecard

Object
rule
string

The name of the rule

result
number

The calculation of the rule

Default Fees

This schema describes a Default Fee. Default fees can be used for quick application of fees on a loan account.

Object
name
string required

Readable name for the fee

Example:
"Disbursement Fee"
type
string required

Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.

Enumeration:
flat

For this type of fee, the figure in the amount field will be used to calculate the fee

percent

This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.

amount
number required

This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.

event
string required

On which event this fee should be applied for

Enumeration:
disbursement

Select this event if you wish that the fee will be automatically applied upon disbursement event

arrears

Select this event if you wish that the fee will be automatically applied upon the account going into arrears

default

Select this event if you wish that the fee will be automatically applied upon the account going into default

manual

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 Response Schema
Object
id
string

Product ID

Example:
'ec0ebaf1-525b-48e8-9738-e6a592962d87'
type
string

The type of the product

Enumeration:
revolving_credit

Revolving credit account with monthly statements

simple_revolving_credit

Revolving credit without statements and minimial payments

is_draft
boolean

Status of the product configuration. Loan account cannot be created for draft products.

max_loan_amount
number

The upper limit of the credit amount for loan acounts that are created for this product

Example:
1000
default_loan_amount
number

A default amount to be used in case an amount is not provided when creating a loan account

Example:
600
max_interest_rate
number

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

Example:
15
default_interest_rate
number

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

Example:
10
name
string

A readable name for easy recognition of the product

Example:
Cash advance
installments
number

(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

Example:
6
default_grace_instalments
string

(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid

Example:
2
principal_repayment_grace
string

(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid

Example:
2
default_fees
Array
Object
name
string required

Readable name for the fee

Example:
"Disbursement Fee"
type
string required

Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.

Enumeration:
flat

For this type of fee, the figure in the amount field will be used to calculate the fee

percent

This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.

amount
number required

This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.

event
string required

On which event this fee should be applied for

Enumeration:
disbursement

Select this event if you wish that the fee will be automatically applied upon disbursement event

arrears

Select this event if you wish that the fee will be automatically applied upon the account going into arrears

default

Select this event if you wish that the fee will be automatically applied upon the account going into default

manual

Select this event if this fee will be applied using ad hoc API commands

arrears_tolerance
number

The number of days between account becoming late and account becoming in arrears

Example:
7
interest_calculation
string

(Relevant only for term loans) There are two types of schedule calculation

Enumeration:
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.

equal_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).

early_repayment_recalculation
string

(Relevant only for term loans)

Enumeration:
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.

repayment_holiday_scheduling
string

Should the repayment date be rescheduled due to it being a holiday

Enumeration:
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

calculate_interest_on_holidays
boolean
  • “True” means that the interest will be calculated on holidays
  • “Flase” means that on holidays, the interest will not be calculated
repayment_date_type
string
Enumeration:
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

repayment_date_period
number

if repayment_date_type is day_of_month then this field specifies the day

Example:
10

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
}
Product Request Schema
Object
type
string required

The type of the product

Enumeration:
revolving_credit

Revolving credit account with monthly statements

line_of_credit

Line of credit account, with no mimial monthly payment

equal_principal_repayment

A term loan where an equal amount of the principal is repaid in each intalment

equal_installment_repayment

A term loan where all the instalments have the same amount

max_loan_amount
number required

The upper limit of the credit amount for loan acounts that are created for this product

Example:
1000
default_loan_amount
number required

A default amount to be used in case an amount is not provided when creating a loan account

Example:
600
max_interest_rate
number required

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

Example:
15
default_interest_rate
number required

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

Example:
10
name
string required

A readable name for easy recognition of the product

Example:
Cash advance
installments
number

(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

Example:
6
default_grace_instalments
number

(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid

Default:
0
Example:
2
principal_repayment_grace
number

(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid

Default:
0
Example:
2
default_fees
Array
Object
name
string required

Readable name for the fee

Example:
"Disbursement Fee"
type
string required

Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.

Enumeration:
flat

For this type of fee, the figure in the amount field will be used to calculate the fee

percent

This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.

amount
number required

This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.

event
string required

On which event this fee should be applied for

Enumeration:
disbursement

Select this event if you wish that the fee will be automatically applied upon disbursement event

arrears

Select this event if you wish that the fee will be automatically applied upon the account going into arrears

default

Select this event if you wish that the fee will be automatically applied upon the account going into default

manual

Select this event if this fee will be applied using ad hoc API commands

arrears_tolerance
number required

The number of days between account becoming late and account becoming in arrears

Default:
7
Example:
7
interest_calculation
string

(Relevant only for term loans) There are two types of schedule calculation

Enumeration:
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.

equal_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).

Default:
equal_instalments
early_repayment_recalculation
string

(Relevant only for term loans)

Enumeration:
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.

Default:
reduced_instalments
repayment_holiday_scheduling
string

Should the repayment date be rescheduled due to it being a holiday

Enumeration:
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

Default:
last_business_day_before_the_day
calculate_interest_on_holidays
boolean
  • “True” means that the interest will be calculated on holidays
  • “Flase” means that on holidays, the interest will not be calculated
Default:
true
repayment_date_type
string
Enumeration:
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

Default:
last_day_of_month
repayment_date_period
number

if repayment_date_type is day_of_month then this field specifies the day

Example:
10
Product Update Schema
Object
type
string

The type of the product

Enumeration:
revolving_credit
max_loan_amount
number

The upper limit of the credit amount for loan acounts that are created for this product

Example:
1000
default_loan_amount
number

A default amount to be used in case an amount is not provided when creating a loan account

Example:
600
max_interest_rate
number

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

Example:
15
default_interest_rate
number

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

Example:
10
name
string

A readable name for easy recognition of the product

Example:
Cash advance
installments
number

(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

Example:
6
default_grace_instalments
number

(Releveant only for term loans) Grace instalments are the number of instalments in which repayment is not expected to be repaid

Example:
2
principal_repayment_grace
number

(Releveant only for term loans) Grace instalments are the number of instalments in which principal repayment is not expected to be repaid

Example:
2
default_fees
Array
Object
name
string required

Readable name for the fee

Example:
"Disbursement Fee"
type
string required

Describes whether the fee should be calculated as flat fee or as percetage from the total account balance.

Enumeration:
flat

For this type of fee, the figure in the amount field will be used to calculate the fee

percent

This type of fee is calculated as percentage of the account balance. The figure in the amount field represents that percentage.

amount
number required

This field represents the amount of the fee or the percentage of the current balance to be calculated as the amount of the fee.

event
string required

On which event this fee should be applied for

Enumeration:
disbursement

Select this event if you wish that the fee will be automatically applied upon disbursement event

arrears

Select this event if you wish that the fee will be automatically applied upon the account going into arrears

default

Select this event if you wish that the fee will be automatically applied upon the account going into default

manual

Select this event if this fee will be applied using ad hoc API commands

arrears_tolerance
number

The number of days between account becoming late and account becoming in arrears

Example:
7
interest_calculation
string

(Relevant only for term loans) There are two types of schedule calculation

Enumeration:
equal_principal_payments
equal_instalments
early_repayment_recalculation
string

(Relevant only for term loans)

Enumeration:
from_last_instalment
reduced_instalments
repayment_holiday_scheduling
string

Should the repayment date be rescheduled due to it being a holiday

Enumeration:
last_business_day_before_the_day
first_business_day_after_the_day
on_day
calculate_interest_on_holidays
boolean
  • “True” means that the interest will be calculated on holidays
  • “Flase” means that on holidays, the interest will not be calculated
repayment_date_type
string
Enumeration:
day_of_month
last_day_of_month
first_day_of_month
repayment_date_period
number

if repayment_date_type is day_of_month then this field specifies the day

Example:
10
Enduser Create Schema
Object
first_name
string required
last_name
string required
birth_date
string required
address_line_1
string required
address_line_2
string required
address_line_3
string
city
string required
postal_code
string required
country
string
bank_account_number
string required
sort_code
string required
mobile_number
string
email
string
type
string required
Enumeration:
individual

An individual end user

limited

Limited Company

sole_trader

Sole Trader

small_partnership

Partnership of 3 individuals or less

large_partnership

Partenrship of 4 indiviuals or more

Enduser Update Schema
Object
first_name
string
last_name
string
birth_date
string
address_line_1
string
address_line_2
string
address_line_3
string
city
string
postal_code
string
country
string
bank_account_number
string
sort_code
string
mobile_number
string
email
string
Enduser Response Schema
Object
id
string
Example:
'ec0ebaf1-525b-48e8-9738-e6a592962d87'
first_name
string
last_name
string
birth_date
string
address_line_1
string
address_line_2
string
address_line_3
string
city
string
postal_code
string
country
string
bank_account_number
string
sort_code
string
mobile_number
string
email
string
type
string
Enumeration:
individual
limited
sole_trader
small_partnership
large_partnership
Application Create Schema
Object
product
string required

ID of the product the application is for

end_user
string required

ID of the applying end user

amount
string required

The amount of requested credit

installments
string

(Relevant only for term loans) Number of requested instalments. If not present, then the product default amount will be used.

rate
string

Specific interest for the end user. If not present, then the product default amount will be used.

custom_field
string

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 Response Schema
Object
id
string

Application ID

Example:
babca911-e530-47c1-b376-5d32f92cdeeb
status
string

Application status

Example:
incomplete
product
string

Product ID

Example:
0dade50e-f2aa-44a0-bbb8-230cc13ac8c
end_user
string

End user ID

Example:
3fc3122d-5d8d-49c1-b6a1-854fc4591a18
amount
string

Amount of requested credit

Example:
1000.00
installments
string

Number of installments

Example:
4
rate
string

Requested interest rate

Example:
10
reason
string

Reason for decision

Loan Response Schema
Object
id
string

Loan ID

Example:
6f025741-3a92-4e28-8869-b362b51d6b5f
application
string

Application ID of the application for which this loan account is created

Example:
4eb8aa9c-fb91-4848-bd73-cf744a53f2ce
end_user
string

End user ID of the borrower of this loan account

Example:
aac5091e-be2a-4e41-b814-8726ca364853
amount
number

The credit limit of this loan account

rate
number

Interest rate for this loan account

installments
number

(Relevant only for term loans) number of repayments for this loan

grace_instalments
number

(Relevant only for term loans) Number of payment periods in which no repayments are expected

principal_repayment_grace
number

(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

arrears_tolerance
number

Number of days between the repayment due date and when the account is considered in arrears

status
string

The status of the loan account

Enumeration:
inactive
active
repaid
late
arrears
default
closed
principal
number

The principal balance

interest
number

The interest balance

fee
number

The fee balance

pending_principal
number

The total principal balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_interest
number

The total interest balance of transactions that were not yet applied, while waiting for a response from 3rd party

pending_fee
string

The total fee balance of transactions that were not yet applied, while waiting for a response from 3rd party

is_interest_calculation_enabled
boolean

A flag indicating whether interest should be calculated for this loan account

close_reason
string

For closed loans, the reason for closing the loan

close_substatus
string

For closed loans, the substatus for closing the loan

Loan Create Schema
Object
application
string required

Application ID

amount
number

Credit limit for the loan account

rate
number

Interest rate for the loan account

installments
number

(Relevant only for term loans) number of repayments for this loan

grace_instalments
number

(Relevant only for term loans) Number of payment periods in which no repayments are expected

principal_repayment_grace
number

(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

arrears_tolerance
number

Number of days between the repayment due date and when the account is considered in arrears

Event Webhooks
Events that trigger webhooks

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 Backbone
  • repayment_result: This event is triggered when Backbone got a response from the collections provider
  • disbursement_result: This event is triggered when Backbone got a response from the payments provider regarding a disbursement
  • statement_ready: This event is triggered when a statement is ready for a revolving credit account
  • loan_is_late: This event is triggered when a loan status changes to late
  • loan_is_arrears: This event is triggered when a loan status changes to arrears
  • repayment_due_day_soon: This event is triggered 5 days before Repayment is due
  • application_processing_finished: This event is triggered when an application processing has finished and decision was recorded
Webhook Schema
Object
created
string

Time and date of webhook creation in Unix Timestamp

Example:
1527082610
data
Object

Json object for the specific event

event
string
Enumeration:
repayment_created
repayment_result
disbursement_result
statement_ready
loan_is_late
loan_is_arrears
repayment_due_day_soon
application_processing_finished
id
string

Webhook ID

Example:
"07d8e163-6590-11e8-a48c-fd063ee2bda9"
status
string
Enumeration:
timed_out
successful
response_status_error
connection_error
sent
created
Repayment Created Webhook
Object
transaction_id
string

Repayment transaction ID

external_transaction_id
string

Transaction ID as captured on the collections provider

processing_due_date
string

The projected processing date of the repayment

amount
string

The repayment amount

created
string

Time and date of the creation of the transaction

loan_id
string

The ID of the loan being repaid

Repayment Result Webhook
Object
transaction_id
string

Repayment transaction ID

external_transaction_id
string

Transaction ID as captured on the collections provider

processing_due_date
string

The projected processing date of the repayment

amount
string

The repayment amount

created
string

Time and date of the creation of the transaction

loan_id
string

The ID of the loan being repaid

status
string

Status of the transaction

Disbursement Result Webhook
Object
transaction_id
string

Repayment transaction ID

external_transaction_id
string

Transaction ID as captured on the collections provider

processing_due_date
string

The projected processing date of the repayment

amount
string

The repayment amount

created
string

Time and date of the creation of the transaction

loan_id
string

The ID of the loan being repaid

status
string

Status of the transaction

Late Loan Webhook
Object
loan_id
string

The ID of the loan turned late

status
string

Loan status

date
string

Date of turning late

expected_minimum_payment
string

The expected minimum repayment

payment_received
string

The amount that was repaid

statement_balance
string

The statement balance

Loan in arrears Webhook
Object
loan_id
string

The ID of the loan turned late

status
string

Loan status

date
string

Date of turning late

expected_minimum_payment
string

The expected minimum repayment

payment_received
string

The amount that was repaid

statement_balance
string

The statement balance

Repayment in 5 days Webhook
Object
loan_id
string

The ID of the loan turned late

amount
string

Amount to be repaid

expected_minimum_payment
string

The expected minimum repayment

due_date
string
statement_id
string
statement_status
string
Statement Ready Webhook
Object
loan_id
string

The ID of the loan turned late

amount
string

Amount to be repaid

expected_minimum_payment
string

The expected minimum repayment

due_date
string
statement_id
string
Application Processing Finished Webhook
Object
id
string

Processed application ID

status
string

The status of the application

Enumeration:
completed
incomplete
approved
rejected
withdrawn
reason
string

String containing the decision reason

processing_finished_at
string

Time and date that application processing finished

Managing Direct Debits
Creating new mandates

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
Updating Direct Debit Mandates

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.