Loans (1.0)

Download OpenAPI specification:Download

Loan servicing

Retrieve a loan schedule

Returns the schedule of the loan specified in the request URL. The loan schedule includes the full details of a loan, such as loan balance, fees, penalities, interests, and all past, present, and future installments of the loan.

Request
Security:
path Parameters
loan_id
required
string

The ID of the loan for which the schedule should be retrieved.

Responses
200

Repayment Schedule

404

Not Found

409

Conflict

get/v1/loans/{loan_id}/repayment_schedule
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/loans/{loan_id}/repayment_schedule'
Response samples
application/json
{
  • "loan_balances": {
    },
  • "installments": [
    ]
}

Retrieve the history of repayments of a loan

Returns the history of all past repayments the customer made in relation to the loan specified in the request URL. This includes all executed SEPA Direct Debits (SDD) and/or SEPA Credit Transfers (SCT).

Request
Security:
path Parameters
loan_id
required
string

The ID of the loan for which the repayment history should be retrieved.

Responses
200

Repayment history

404

Not Found

get/v1/loans/{loan_id}/repayment_history
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/loans/{loan_id}/repayment_history'
Response samples
application/json
{
  • "repayment_history": [
    ]
}

Retrieve a loan

Returns the details of the loan specified in the request URL.

Request
Security:
path Parameters
loan_id
required
string

The ID of the loan to be retrieved.

Responses
200

Loan

404

Not Found

get/v1/loans/{loan_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/loans/{loan_id}'
Response samples
application/json
{
  • "total_loan_expenses": {
    },
  • "term": 24,
  • "status_reason": "upfront_subsidy_pull_failed_collateral_account_not_set",
  • "status": "payout_issued",
  • "repayment_plan_updated_at": "2021-04-16T13:52:05Z",
  • "repayment_plan_created_at": "2020-04-16T13:52:05Z",
  • "repayment_begin_date": "2020-05-16",
  • "reference": "string",
  • "recipient_iban": "DE88888881010987654321",
  • "purpose": "Buying a car.",
  • "person_id": "547a870b2c8461a3104559369d09265dcper",
  • "payout_date": "2020-05-16",
  • "overdue_amount": {
    },
  • "monthly_payment": {
    },
  • "maturity_date": "2022-05-16",
  • "loan_account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "loan_account_iban": "DE72110101014351836685",
  • "interest_start_date": "2021-06-16",
  • "interest_rate": 0.0499,
  • "id": "c13447d659db4cdcb450b977f8f25c57cloa",
  • "effective_interest_rate": 0.0511,
  • "created_at": "2021-06-16T10:22:38",
  • "billing_account_id": "1d0e52af0a62b4b44d8c54a87a7fc6a7cacc",
  • "billing_account_iban": "DE72110101014351836685",
  • "annual_percentage_rate": 0,
  • "amount": {
    }
}

Index loans

Returns an array containing all loans for all of your customers.

Request
Security:
query Parameters
page[number]
integer

Specifies the number of pages of results to return.

page[size]
integer

Specifies the size of each page of results.

filter[credit_reference_id]
string

Filters the returned loans by a specific credit_reference_id.

Responses
200

LoanEngine.ListLoansResponse

403

Forbidden

get/v1/loans
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/loans?page%5Bnumber%5D=0&page%5Bsize%5D=0&filter%5Bcredit_reference_id%5D=string'
Response samples
application/json
[
  • {
    }
]

Retrieve a credit line mandate

Returns a signed mandate for a credit line.

Request
Security:
path Parameters
credit_line_id
required
string

The ID of the credit line associated with the signed mandate.

Responses
200

Mandate

404

Not Found

get/v1/credit_lines/{credit_line_id}/active_mandate
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/credit_lines/{credit_line_id}/active_mandate'
Response samples
application/json
{
  • "signature_date": "2020-08-24",
  • "name": "Max Mustermann",
  • "mandate_id": "LOY327JAFM3V3M",
  • "iban": "DE92370601930002130041",
  • "bic_code": "SOBKDEBBXXX"
}

(DEPRECATED) Retrieve the repayment plan of a loanDeprecated

Returns the repayment plan of the loan specified in the request URL. This endpoint is deprecated. Please use the repayment schedule endpoint instead.

Request
Security:
path Parameters
loan_id
required
string

The ID of the loan for which the repayments to be returned.

Responses
200

Repayments

404

Not Found

get/v1/loans/{loan_id}/repayment_plan
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/loans/{loan_id}/repayment_plan'
Response samples
application/json
{
  • "updated_at": "2021-04-16T13:52:05Z",
  • "repayments": [
    ],
  • "created_at": "2020-04-16T13:52:05Z"
}

Loan dunning cases

Index the notifications of a dunning case

Returns the notifications related to a dunning case.

Request
Security:
path Parameters
dunning_case_id
required
string

The ID of the dunning case for which the notifications should be retrieved.

Responses
200

LoanEngine.V1.ListDunningCaseNotificationsResponse

400

Bad Request

403

Forbidden

get/v1/dunning_cases/{dunning_case_id}/notifications
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/dunning_cases/{dunning_case_id}/notifications'
Response samples
application/json
[
  • {
    }
]

Retrieve a dunning case

Returns the dunning case with the ID specified in the request URL.

Request
Security:
path Parameters
dunning_case_id
required
string

The ID of the dunning case to be retrieved.

Responses
200

Dunning Case

403

Forbidden

404

Not Found

get/v1/dunning_cases/{dunning_case_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/dunning_cases/{dunning_case_id}'
Response samples
application/json
{
  • "total_overdue_amount": {
    },
  • "strategy": "consumer",
  • "status": "new",
  • "person_id": "547a870b2c8461a3104559369d09265dcper",
  • "overdue_installment_amount": {
    },
  • "loan_id": "c13447d659db4cdcb450b977f8f25c57cloa",
  • "loan_account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "last_sddr_date": "2021-09-01",
  • "id": "41c8d48c-4b73-4f5b-a7d0-5778e041b7c2",
  • "fees": {
    },
  • "deadline": "2021-09-01",
  • "credit_reference_id": "string",
  • "billing_account_id": "1d0e52af0a62b4b44d8c54a87a7fc6a7cacc"
}

Index dunning cases

Returns an array containing all the dunning cases for all of your customers.

Request
Security:
query Parameters
page[number]
integer

Specifies the number of pages of results to return.

page[size]
integer

Specifies the size of each page of results.

filter[loan_account_id]
string

Filters the returned dunning cases by a specific loan_account_id.

filter[person_id]
string

Filters the returned dunning cases by a specific person ID.

filter[status]
string

Filters the returned dunning cases by a specific status.

Enum: "new" "dunning" "pre_termination" "terminated" "closed"
Responses
200

LoanEngine.V1.ListDunningCasesResponse

400

Bad Request

403

Forbidden

get/v1/dunning_cases
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/dunning_cases?page%5Bnumber%5D=0&page%5Bsize%5D=0&filter%5Bloan_account_id%5D=string&filter%5Bperson_id%5D=string&filter%5Bstatus%5D=new'
Response samples
application/json
[
  • {
    }
]

Consumer Loan

Create anonymous loan offer

Generates a non-binding anonymous loan offer for a customer based on their self-declared and unverified financial information.

Request
Security:
Request Body schema: application/json

The anonymous offer attributes

requested_loan_term
required
integer

The number of months over which the loan will be repaid as requested by the customer.

required
object

The loan amount requested by the customer.

requested_interest_rate
number or null <float>

The requested monthly interest rate to apply to the loan.

object or null

The requested equated monthly installment (EMI) the customer wants to pay each month to repay the loan principal and interest (in EUR).

required
object

The amount of the private insurance the customer pays monthly.

partner_reference_number
string or null

Your internal reference number for the customer.

number_of_kids
integer or null

The number of kids the customer has.

number_of_dependents
required
integer

The number of dependents the customer has.

required
object

The customer's net income amount in EUR after tax deduction.

required
object

The customer's living monthly expenses, e.g., rent or mortgage, utilities, health insurance, etc.

living_situation
required
string

The customer's living situation.

Enum: "LIVING_WITH_PARENTS" "LIVING_IN_RENTED_HOUSE" "LIVING_IN_OWN_HOUSE"
is_joint_application
boolean or null

A field to indicate whether the application is a joint application or not.

object or null

The customer's existing debt repayments (in EUR) (excluding mortgage payments).

Responses
201

Anonymous Offer

400

Bad Request

post/v1/anonymous_consumer_loan_offers
Request samples
application/json
{
  • "requested_loan_term": 24,
  • "requested_loan_amount": {
    },
  • "requested_interest_rate": 0.02,
  • "requested_emi": {
    },
  • "private_insurance_amount": {
    },
  • "partner_reference_number": "string",
  • "number_of_kids": 0,
  • "number_of_dependents": 0,
  • "net_income_amount": {
    },
  • "living_situation_amount": {
    },
  • "living_situation": "LIVING_IN_RENTED_HOUSE",
  • "is_joint_application": true,
  • "existing_credit_repayment_excluding_mortgage": {
    }
}
Response samples
application/json
{
  • "offer": {
    },
  • "loan_decision": "OFFERED"
}

Retrieve two thirds rates

Returns the 2/3 interest rate for different loan terms for an anonymous loan offer.

Request
Security:
Responses
200

Two Thirds Rates

403

Forbidden

404

Not Found

get/v1/consumer_loans/two_thirds_rates
Request samples
curl -i -X GET \
  https://api.solaris-sandbox.de/v1/consumer_loans/two_thirds_rates
Response samples
application/json
{
  • "two_thirds_rate": {
    }
}

Create consumer loan application

Creates a consumer loan application and assigns it to the person with the person_id specified in the request URL. The payload of the request includes all the required financial information and account data about the customer, which the credit scorer uses to initiate a series of credit checks to determine the customer's credit risk and eligibility.

Request
Security:
path Parameters
person_id
required
string

The person_id of the customer applying for the loan.

Request Body schema: application/json

The application attributes

seller
string or null

The name of the seller of the financed good.

payout_description
string or null

Additional details around the loan payout.

solarisbank_scoring
string or null

Solarisbank's score for the customer.

required
object

The amount of the private insurance the customer pays monthly.

recipient_iban
string or null

The IBAN of the recipient's account. This account will be debited with a SEPA Direct Debit (SDD) in the amount of the loan's monthly installment. Unless stated otherwise in your configurations, the loan will also be paid out to this account.

payout_account_name
string or null

The name of the payout account holder (i.e., the account to which the loan will be paid out). You may only use this field if your configurations allow it via allow_loan_specific_payout_account_ibans.

object or null

The customer's existing debt repayments (in EUR) (excluding mortgage payments).

object or null

The customer's mortgage payments (in EUR).

requested_interest_rate
number or null <float>

The requested monthly interest rate to apply to the loan.

requested_loan_term
required
integer

The number of months over which the loan will be repaid.

payout_account_iban
string or null

The IBAN (different from recipient_iban) to which the loan will be paid out. You may only use this field if your configurations allow it via allow_loan_specific_payout_account_ibans.

moved_in_last_two_years
required
boolean

Field to indicate whether the customer has moved and changed addresses in the last two years.

credit_record_id
required
string

The unique ID of a customer's credit record.

loan_purpose
required
string

The purpose of the loan.

delayed_payout_strategy
string
Default: "none"

Field to indicate the payout strategy to be applied to the loan. If set to none, then the loan payout will happen automatically.

Enum: "none" "after_revocation"
living_situation
required
string

The customer's living situation.

Enum: "LIVING_WITH_PARENTS" "LIVING_IN_RENTED_HOUSE" "LIVING_IN_OWN_HOUSE"
partner_score
string or null

The score assigned to the customer by your internal scoring flow.

financed_good
string or null

The financed good that was purchased using the loan.

repayment_day_of_month
required
integer

The day of the month when the customer pays the loan installment.

Enum: 1 15
number_of_dependents
required
integer

The number of dependents the customer has.

employment_since
string or null <date>

The date when the customer started their current employment.

partner_reference_number
required
string

Your internal reference number for the customer.

object or null

The cash price of the financed good (i.e., net price without financing fees, interest).

number_of_kids
integer or null

The number of kids the customer has.

required
object

The loan amount requested by the customer.

is_joint_application
boolean or null

A field to indicate whether the application is a joint application or not.

employment_until
string or null <date>

The date when the customer ended an employment.

required
object

The customer's net income amount in EUR after tax deduction.

solarisbank_risk_class
integer or null

The risk class assigned to the customer by Solarisbank.

object or null

Any additional costs the customer incurs on a regular basis.

object or null

The customer's monthly rent (in EURO).

required
object

The customer's living monthly expenses, i.e., rent or mortgage, utilities, health insurance, etc.

object or null

The requested equated monthly installment (EMI) in EUR the customer wants to pay each month to repay the loan principal and interest.

Responses
200

Application

400

Bad Request

422

Unprocessable Entity

post/v1/persons/{person_id}/consumer_loan_applications
Request samples
application/json
{
  • "seller": "string",
  • "payout_description": "string",
  • "solarisbank_scoring": "string",
  • "private_insurance_amount": {
    },
  • "recipient_iban": "DE92370601930002130041",
  • "payout_account_name": "string",
  • "existing_credit_repayment_excluding_mortgage": {
    },
  • "mortgage": {
    },
  • "requested_interest_rate": 0.02,
  • "requested_loan_term": 24,
  • "payout_account_iban": "string",
  • "moved_in_last_two_years": true,
  • "credit_record_id": "fbb7d15fa4c54ba0b077592665ef04a4ccrd",
  • "loan_purpose": "Buying a car.",
  • "delayed_payout_strategy": "none",
  • "living_situation": "LIVING_IN_RENTED_HOUSE",
  • "partner_score": "string",
  • "financed_good": "string",
  • "repayment_day_of_month": 1,
  • "number_of_dependents": 0,
  • "employment_since": "2019-08-24",
  • "partner_reference_number": "string",
  • "cash_price": {
    },
  • "number_of_kids": 0,
  • "requested_loan_amount": {
    },
  • "is_joint_application": true,
  • "employment_until": "2019-08-24",
  • "net_income_amount": {
    },
  • "solarisbank_risk_class": 0,
  • "additional_costs": {
    },
  • "rent": {
    },
  • "living_situation_amount": {
    },
  • "requested_emi": {
    }
}
Response samples
application/json
{
  • "offer": {
    },
  • "loan_decision": "OFFERED",
  • "id": "9b3147c5498b405d9402630bc308ad0ecofr",
  • "customer_category": "GREEN"
}

Retrieve consumer loan application

Returns the current status and details of an existing consumer loan application. Additionally, you can subscribe to the webhook event CONSUMER_LOAN_APPLICATION to receive status updates on the application.

Request
Security:
path Parameters
person_id
required
string

The person_id of the customer applying for the loan.

application_id
required
string

The unique ID of the customer's loan application.

Responses
200

Application

404

Not Found

get/v1/persons/{person_id}/consumer_loan_applications/{application_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/consumer_loan_applications/{application_id}'
Response samples
application/json
{
  • "status_description": "string",
  • "status": "esign_pending",
  • "signing_id": "7c63600ddddec4f2668893af39c1b814csig",
  • "seller": "string",
  • "payout_description": "string",
  • "loan_id": "string",
  • "id": "108787ede6b743dcbe0c3398bc4a6ce8clap",
  • "financed_good": "string",
  • "delayed_payout_strategy": "none",
  • "cash_price": {
    },
  • "approximate_total_loan_expenses": {
    }
}

Link an account snapshot to a consumer loan application

Links a customer's account snapshot to their consumer loan application. You must include the account_snapshot_id in the request body. This call triggers the credit scorer to complete the final verification step.

Request
Security:
path Parameters
person_id
required
string

The person_id of the customer applying for the loan.

application_id
required
string

The unique ID of the customer's loan application.

Request Body schema: application/json

Account Snapshot link

account_snapshot_id
required
string

The unique ID of a customer's account snapshot.

Responses
204

No Content

404

Not Found

409

Application state cannot be changed to documents_received

put/v1/persons/{person_id}/consumer_loan_applications/{application_id}/account_snapshot
Request samples
application/json
{
  • "account_snapshot_id": "2a9fbb2fc5be45f7b8ca782c45715576snap"
}
Response samples
application/json
{
  • "code": "build_pagination_headers_failure",
  • "detail": "Cannot connect to database.",
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "status": "400",
  • "title": "Failed to build pagination headers."
}

Upload the purchase contract related to the financed good

Uploads the purchase contract of the financed good purchased with the loan. You must include the details of the signature position in the payload.

Request
Security:
path Parameters
person_id
required
string

The person_id of the customer applying for the loan.

application_id
required
string

The unique ID of the customer's loan application.

Request Body schema: application/json

Purchase contract attributes

required
object
file
required
string

The contract file (Base64 encoded).

Responses
204

No Content

404

Not Found

put/v1/persons/{person_id}/consumer_loan_applications/{application_id}/upload_purchase_contract
Request samples
application/json
{
  • "signature_position": {
    },
  • "file": "string"
}
Response samples
application/json
{
  • "title": "Model Not Found",
  • "status": "404",
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "detail": "Couldn't find 'loan application' for id '108787ede6b743dcbe0c3398bc4a6ce8clap'.",
  • "code": "model_not_found"
}

Generate a subsidized offer for a consumer loan

Creates a subsidized loan offer with a reduced interest rate from the original offer. You must add the required interest rate in the request body to receive the new offer.

Request
Security:
path Parameters
person_id
required
string

The person_id of the customer applying for the loan.

application_id
required
string

The unique ID of the customer's loan application.

offer_id
required
string

The unique ID of a loan offer.

Request Body schema: application/json

Subsidized offer attributes

interest_rate
required
number <float>

The requested reduced interest rate to be applied to the loan offer.

Responses
201

Subsidized loan offer

400

Bad Request

404

Not Found

post/v1/persons/{person_id}/consumer_loan_applications/{application_id}/offers/{offer_id}/subsidize
Request samples
application/json
{
  • "interest_rate": 0.02
}
Response samples
application/json
{
  • "type": "original",
  • "subsidized": false,
  • "monthly_installment": {
    },
  • "loan_term": 36,
  • "loan_amount": {
    },
  • "interest_rate": 0.12,
  • "id": "105a0fa505f44afea4b433d170b83d87cofr",
  • "effective_interest_rate": 0.13,
  • "approximate_total_loan_expenses": {
    },
  • "annual_percentage_rate": 0.13
}

Download the pre-contractual information for consumer loan

Downloads a SECCI form as a PDF, which is the overview of the final offer and the contract. You must share it with the customer to review it prior to the identification and e-signing process.

Request
Security:
path Parameters
person_id
required
string

The person_id of the customer applying for the loan.

application_id
required
string

The unique ID of the customer's loan application.

offer_id
required
string

The unique ID of a loan offer.

Responses
200

The binary of the pre-contractual information (SECCI)

get/v1/persons/{person_id}/consumer_loan_applications/{application_id}/offers/{offer_id}/pre_contract
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/consumer_loan_applications/{application_id}/offers/{offer_id}/pre_contract'

Download the final contract for a consumer loan

Generates the final contract for a consumer loan, which the customer must e-sign during the identification and e-signing process.

Request
Security:
path Parameters
person_id
required
string

The person_id of the customer applying for the loan.

application_id
required
string

The unique ID of the customer's loan application.

offer_id
required
string

The unique ID of a loan offer.

Responses
200

The binary of the offer contract

get/v1/persons/{person_id}/consumer_loan_applications/{application_id}/offers/{offer_id}/contract
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/consumer_loan_applications/{application_id}/offers/{offer_id}/contract'

Create a consumer loan

Creates a loan and issues the loan payout to the customer's specified IBAN. The status of the consumer loan application will change to loan_created after calling this endpoint.

Request
Security:
path Parameters
person_id
required
string

The person_id of the customer to whom the loan should be paid out.

application_id
required
string

The unique ID of the customer's loan application.

Request Body schema: application/json

The application attributes

object (ConsumerLoan.CreateLoanRequest)
Responses
202

Loan

put/v1/persons/{person_id}/consumer_loan_applications/{application_id}/consumer_loan
Request samples
application/json
{ }
Response samples
application/json
{
  • "id": "6c8b5faf3c2d4a5682c5c80ef7382387cloa"
}

Fronting Loans

Create consumer fronting loan application

Creates a consumer fronting loan application and assigns it to the person with the person_id specified in the request URL. The payload of this endpoint includes all the required financial information and account data about the customer, which the credit scorer uses to initiate a series of credit checks to determine the customer's credit risk and eligibility.

Request
Security:
path Parameters
person_id
required
string

The person ID of the customer applying for a fronting loan.

Request Body schema: application/json

The application attributes

transaction_end_to_end_id
string^([A-Za-z0-9]|[+\?/\-:\(\)\.,']){0,35}$

SEPA identifier (provided by the end customer who initiated the SEPA transaction), routed through the whole payment process. (Max 35 characters without whitespace)

transaction_description
required
string

The transaction reference, which the recipient will see. Only use characters allowed by SEPA in this field.

object or null

The total amount the customer repaid from the loan.

object or null

The total principal amount of the loan.

object or null

The total interest amount applied to the loan.

requested_loan_term
required
integer

The number of months over which the loan will be repaid, as requested by the customer.

required
object

The loan amount requested by the customer.

requested_interest_rate
required
number <float>

The requested interest rate to apply to the fronting loan.

repayment_day_of_month
required
integer

The day of the month when the customer pays the loan installment.

recipient_name
string or null

The name of the loan recipient.

recipient_iban
string or null

The IBAN of the loan's recipient to which the loan will be paid out.

probability_of_default
number or null <float>

The percentage of the customer's probability of default as scored by your internal scoring system. (0.0 means 0%, 100.0 means 100%, 1.0 means 1%)

required
object

The amount of the private insurance the customer pays monthly.

payout_date
string or null <date>

The date when the loan was paid out to the customer.

partner_snapshot_allowed
required
boolean

A field to indicate whether it's allowed for you to create an account snapshot for the customer or not.

partner_score
string or null

The score assigned to the customer by your internal scoring flow.

partner_reference_number
string or null

Your internal reference number for the customer.

number_of_kids
required
integer

The number of kids the customer has.

required
object

The customer's net income amount.

moved_in_last_two_years
boolean or null

Field to indicate whether the customer has moved and changed addresses in the last two years.

loan_purpose
required
string

The purpose of the loan.

required
object

The amount of the customer's living expenses, e.g., rent, mortgage, etc.

living_situation
required
string

The customer's living situation.

Enum: "LIVING_WITH_PARENTS" "LIVING_IN_RENTED_HOUSE" "LIVING_IN_OWN_HOUSE"
is_joint_application
boolean or null

A field to indicate whether the application is a joint application or not.

required
object

The amount of existing credit repayment the customer pays excluding mortgage.

employment_until
string or null <date>

The date when the customer ended an employment.

employment_since
string or null <date>

The date when the customer started their current employment.

effective_interest_rate
number or null <float>

The effective annual interest rate to apply to the fronting loan.

debt_burden_ratio
number or null <float>

The ratio of the customer's total monthly outgoing payments (including installments towards loans and credit cards) to their total income. (0.0 means 0%, 100.0 means 100%, 1.0 means 1%)

credit_record_id
string or null

The unique ID of a customer's credit record.

agio
number <float>
Default: 0

The credit commission amount.

Responses
201

Application

400

Invalid request

403

Forbidden

404

Not Found

409

Conflict

422

Unprocessable Entity

post/v1/consumers/persons/{person_id}/fronting_loan_applications
Request samples
application/json
{
  • "transaction_end_to_end_id": "123322332",
  • "transaction_description": "string",
  • "total_repaid_loan_amount": {
    },
  • "total_principle_amount": {
    },
  • "total_interest_amount": {
    },
  • "requested_loan_term": 24,
  • "requested_loan_amount": {
    },
  • "requested_interest_rate": 0.02,
  • "repayment_day_of_month": 1,
  • "recipient_name": "Max Mustermann",
  • "recipient_iban": "DE92370601930002130041",
  • "probability_of_default": 0,
  • "private_insurance_amount": {
    },
  • "payout_date": "2021-08-24",
  • "partner_snapshot_allowed": true,
  • "partner_score": "string",
  • "partner_reference_number": "string",
  • "number_of_kids": 1,
  • "net_income_amount": {
    },
  • "moved_in_last_two_years": true,
  • "loan_purpose": "Buying a car",
  • "living_situation_amount": {
    },
  • "living_situation": "LIVING_IN_RENTED_HOUSE",
  • "is_joint_application": true,
  • "existing_credit_repayment_excluding_mortgage": {
    },
  • "employment_until": "2019-08-24",
  • "employment_since": "2019-08-24",
  • "effective_interest_rate": 0.04,
  • "debt_burden_ratio": 0,
  • "credit_record_id": "fbb7d15fa4c54ba0b077592665ef04a4ccrd",
  • "agio": 0
}
Response samples
application/json
{
  • "transaction_end_to_end_id": "123322332",
  • "transaction_description": "string",
  • "total_repaid_loan_amount": {
    },
  • "total_principle_amount": {
    },
  • "total_interest_amount": {
    },
  • "status": "identification_pending",
  • "requested_loan_term": 24,
  • "requested_loan_amount": {
    },
  • "requested_interest_rate": 0.02,
  • "recipient_name": "Max Mustermann",
  • "recipient_iban": "DE92370601930002130041",
  • "probability_of_default": 0,
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "payout_date": "2019-08-24",
  • "partner_snapshot_allowed": true,
  • "partner_score": "string",
  • "partner_reference_number": "string",
  • "partner_id": "string",
  • "net_income_amount": {
    },
  • "loan_purpose": "Buying a car",
  • "identification_origination_id": "ccf79efa8b5c4a5594d43b73e58acfb3io",
  • "id": "504f3c3659e14079a6941fe5b7a75eaacfla",
  • "effective_interest_rate": 0.04,
  • "decision": "string",
  • "debt_burden_ratio": 0,
  • "credit_record_id": "fbb7d15fa4c54ba0b077592665ef04a4ccrd",
  • "agio": 0,
  • "account_snapshot_id": "2a9fbb2fc5be45f7b8ca782c45715576snap"
}

Retrieve consumer fronting loan application

Returns the current status and details of an existing consumer fronting loan application. Alternatively, you can subscribe to the webhook event CONSUMER_FRONTING_APPLICATION to receive status updates on the application.

Request
Security:
path Parameters
person_id
required
string

The person ID of the customer applying for a fronting loan.

application_id
required
string

The unique ID of a consumer fronting loan application.

Responses
200

Application

403

Forbidden

404

Not Found

get/v1/consumers/persons/{person_id}/fronting_loan_applications/{application_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/consumers/persons/{person_id}/fronting_loan_applications/{application_id}'
Response samples
application/json
{
  • "transaction_end_to_end_id": "123322332",
  • "transaction_description": "string",
  • "total_repaid_loan_amount": {
    },
  • "total_principle_amount": {
    },
  • "total_interest_amount": {
    },
  • "status": "identification_pending",
  • "requested_loan_term": 24,
  • "requested_loan_amount": {
    },
  • "requested_interest_rate": 0.02,
  • "recipient_name": "Max Mustermann",
  • "recipient_iban": "DE92370601930002130041",
  • "probability_of_default": 0,
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "payout_date": "2019-08-24",
  • "partner_snapshot_allowed": true,
  • "partner_score": "string",
  • "partner_reference_number": "string",
  • "partner_id": "string",
  • "net_income_amount": {
    },
  • "loan_purpose": "Buying a car",
  • "identification_origination_id": "ccf79efa8b5c4a5594d43b73e58acfb3io",
  • "id": "504f3c3659e14079a6941fe5b7a75eaacfla",
  • "effective_interest_rate": 0.04,
  • "decision": "string",
  • "debt_burden_ratio": 0,
  • "credit_record_id": "fbb7d15fa4c54ba0b077592665ef04a4ccrd",
  • "agio": 0,
  • "account_snapshot_id": "2a9fbb2fc5be45f7b8ca782c45715576snap"
}

Link an account snapshot to a consumer fronting loan application

Links a customer's account snapshot to their fronting loan application. You must include the account_snapshot_id in the payload of this endpoint. After the account snapshot is linked to the loan application, the application status transitions to scoring_pending.

Request
Security:
path Parameters
person_id
required
string

The person ID of the customer applying for a fronting loan.

application_id
required
string

The unique ID of a consumer fronting loan application.

Request Body schema: application/json

Account Snapshot link

account_snapshot_id
required
string

The unique ID of a customer's account snapshot.

Responses
204

No Content

400

Invalid request

403

Forbidden

404

Not Found

409

Conflict

put/v1/consumers/persons/{person_id}/fronting_loan_applications/{application_id}/account_snapshot
Request samples
application/json
{
  • "account_snapshot_id": "6c8f81a234df4052a9cde197577347b7snap"
}
Response samples
application/json
{
  • "code": "build_pagination_headers_failure",
  • "detail": "Cannot connect to database.",
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "status": "400",
  • "title": "Failed to build pagination headers."
}

Link a customer identification origination to a consumer fronting loan application

Links the identification origination resource created for a customer to their fronting loan application. You must add the person_id and the application_id in the request URL and add the identification_origination_id in the request body.

Request
Security:
path Parameters
person_id
required
string

The person ID of the customer applying for a fronting loan.

application_id
required
string

The unique ID of a consumer fronting loan application.

Request Body schema: application/json

Put request

identification_origination_id
required
string

The unique ID of an identification origination resource created for a customer in the scope of a loan application.

Responses
204

No Content

400

Invalid request

403

Forbidden

404

Not Found

409

Conflict

put/v1/consumers/persons/{person_id}/fronting_loan_applications/{application_id}/identification
Request samples
application/json
{
  • "identification_origination_id": "589e12da53154010ad180894acbe07ebio"
}
Response samples
application/json
{
  • "code": "build_pagination_headers_failure",
  • "detail": "Cannot connect to database.",
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "status": "400",
  • "title": "Failed to build pagination headers."
}

Trigger loan payout for a consumer fronting loan application

Triggers the loan payout process to the respective customer. You must add the settlement_account_iban in the request body, which is a Solarisbank account, from which the loan amount is transferred to the customer's account.

Request
Security:
path Parameters
person_id
required
string

The person ID of the customer applying for a fronting loan.

application_id
required
string

The unique ID of a consumer fronting loan application.

Request Body schema: application/json

Attributes required for a payout request

settlement_account_iban
required
string

The Solarisbank settlement account from which the loan amount is transferred to the customer's account.

Responses
201

Loan

400

Invalid request

403

Forbidden

404

Not Found

post/v1/consumers/persons/{person_id}/fronting_loan_applications/{application_id}/payout
Request samples
application/json
{
  • "settlement_account_iban": "DE07110101014503906016"
}
Response samples
application/json
{
  • "status": "payout_issued",
  • "settlement_account_iban": "DE07110101014503906016",
  • "requested_interest_rate": 0.04,
  • "recipient_name": "Max Mustermann",
  • "recipient_iban": "DE92370601930002130041",
  • "id": "620b95f7987243d398c2621c889a2039cflo",
  • "duration": 12,
  • "collection_account_iban": "DE87110101001000057123",
  • "collateral_account_iban": "DE85110101014480677574",
  • "application_id": "504f3c3659e14079a6941fe5b7a75eaacfla",
  • "amount": {
    },
  • "agio": 0
}

Retrieve consumer fronting loan

Returns all the details and status of an existing consumer fronting loan assigned to the person with the given person_id in the request URL.

Request
Security:
path Parameters
person_id
required
string

The person ID of the customer who has the fronting loan.

loan_id
required
string

The unique ID of a fronting loan associated with a specific customer.

Responses
200

Loan

403

Forbidden

404

Not Found

get/v1/consumers/persons/{person_id}/fronting_loans/{loan_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/consumers/persons/{person_id}/fronting_loans/{loan_id}'
Response samples
application/json
{
  • "status": "payout_issued",
  • "settlement_account_iban": "DE07110101014503906016",
  • "requested_interest_rate": 0.04,
  • "recipient_name": "Max Mustermann",
  • "recipient_iban": "DE92370601930002130041",
  • "id": "620b95f7987243d398c2621c889a2039cflo",
  • "duration": 12,
  • "collection_account_iban": "DE87110101001000057123",
  • "collateral_account_iban": "DE85110101014480677574",
  • "application_id": "504f3c3659e14079a6941fe5b7a75eaacfla",
  • "amount": {
    },
  • "agio": 0
}

Create business fronting loan application

Creates a fronting loan application and assigns it to the business with the business_id specified in the request URL. The payload of this endpoint includes all the required financial information and account data about the business, which the credit scorer uses to initiate a series of credit checks to determine the business's credit risk and eligibility.

Request
Security:
path Parameters
business_id
required
string

The ID of the business applying for a fronting loan.

Request Body schema: application/json

The application attributes

transaction_end_to_end_id
string^([A-Za-z0-9]|[+\?/\-:\(\)\.,']){0,35}$

SEPA identifier (provided by the end customer who initiated the SEPA transaction), routed through the whole payment process. (Max 35 characters without whitespace)

transaction_description
required
string <= 70 characters

The transaction reference, which the recipient will see. Only use characters allowed by SEPA in this field.

required
object

The requested loan amount.

recipient_name
required
string

The name of the loan recipient.

recipient_iban
required
string

The IBAN of the loan's recipient, to which the loan will be paid out.

purpose_description
string

Additional information about the purpose of the loan.

purpose
required
string

The purpose of the loan.

partner_score
string

The score assigned to the business by your internal scoring flow.

partner_reference_number
string

Your internal reference number for the business.

partner_contact_number
string

Your internal contact number for the business.

partner_contact_name
string

Your internal contact name for the business.

nominal_interest_rate
number <float>

The nominal interest rate applied to the loan.

effective_interest_rate
number <float>

The effective annual interest rate applied to the loan.

duration
integer

The number of months over which the loan will be repaid.

creditreform_score
integer

The business's credit score as scored by any credit risk service provider, e.g., Creditreform.

creditreform_pd
string

The business's probability of default as scored by any credit risk service provider, e.g., Creditreform.

agio
number <float>
Default: 0

The credit commission amount.

Responses
201

Application

400

Invalid request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post/v1/businesses/{business_id}/fronting_loan_applications
Request samples
application/json
{
  • "transaction_end_to_end_id": "string",
  • "transaction_description": "string",
  • "requested_amount": {
    },
  • "recipient_name": "Max Mustermann",
  • "recipient_iban": "DE92370601930002130041",
  • "purpose_description": "string",
  • "purpose": "string",
  • "partner_score": "string",
  • "partner_reference_number": "string",
  • "partner_contact_number": "string",
  • "partner_contact_name": "string",
  • "nominal_interest_rate": 0.299,
  • "effective_interest_rate": 0.309,
  • "duration": 24,
  • "creditreform_score": 0,
  • "creditreform_pd": "string",
  • "agio": 0
}
Response samples
application/json
{
  • "transaction_end_to_end_id": "string",
  • "transaction_description": "string",
  • "status": "identification_pending",
  • "requested_amount": {
    },
  • "recipient_name": "Max Mustermann",
  • "recipient_iban": "DE92370601930002130041",
  • "purpose_description": "string",
  • "purpose": "string",
  • "partner_score": "string",
  • "partner_reference_number": "string",
  • "partner_contact_number": "string",
  • "partner_contact_name": "string",
  • "nominal_interest_rate": 0.299,
  • "identification_id": 0,
  • "id": "89d4eaaa73ec4a73a0b9d40fb5d9da9cbfla",
  • "effective_interest_rate": 0.309,
  • "duration": 24,
  • "creditreform_score": 0,
  • "creditreform_pd": "string",
  • "agio": 0
}

Retrieve business fronting loan application

Returns the current status and details of an existing business fronting loan application. Alternatively, you can subscribe to the webhook event BUSINESS_FRONTING_APPLICATION to receive status updates on the application.

Request
Security:
path Parameters
business_id
required
string

The ID of the business applying for a fronting loan.

application_id
required
string

The unique ID of a business fronting loan application.

Responses
200

Application

403

Forbidden

404

Not Found

get/v1/businesses/{business_id}/fronting_loan_applications/{application_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/businesses/{business_id}/fronting_loan_applications/{application_id}'
Response samples
application/json
{
  • "transaction_end_to_end_id": "string",
  • "transaction_description": "string",
  • "status": "identification_pending",
  • "requested_amount": {
    },
  • "recipient_name": "Max Mustermann",
  • "recipient_iban": "DE92370601930002130041",
  • "purpose_description": "string",
  • "purpose": "string",
  • "partner_score": "string",
  • "partner_reference_number": "string",
  • "partner_contact_number": "string",
  • "partner_contact_name": "string",
  • "nominal_interest_rate": 0.299,
  • "identification_id": 0,
  • "id": "89d4eaaa73ec4a73a0b9d40fb5d9da9cbfla",
  • "effective_interest_rate": 0.309,
  • "duration": 24,
  • "creditreform_score": 0,
  • "creditreform_pd": "string",
  • "agio": 0
}

Retrieve business fronting loan

Returns all the details of an existing business fronting loan, assigned to the business with the given business_id in the path parameter. Alternatively, you can register to the webhook event BUSINESS_FRONTING_LOAN_PAYOUT to receive status updates about the loan.

Request
Security:
path Parameters
business_id
required
string

The ID of the business that has the fronting loan.

loan_id
required
string

The unique ID of a business fronting loan associated with a specific business.

Responses
200

Loan

403

Forbidden

404

Not Found

get/v1/businesses/{business_id}/fronting_loans/{loan_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/businesses/{business_id}/fronting_loans/{loan_id}'
Response samples
application/json
{
  • "status": "payout_issued",
  • "settlement_account_iban": "DE07110101014503906016",
  • "recipient_name": "Max Mustermann",
  • "recipient_iban": "DE92370601930002130041",
  • "nominal_interest_rate": 0.299,
  • "id": "13651d2f3a274e768ec6d45b036e0f14bflo",
  • "effective_interest_rate": 0.309,
  • "duration": 24,
  • "collection_account_iban": "DE87110101001000057123",
  • "collateral_account_iban": "DE85110101014480677574",
  • "application_id": "89d4eaaa73ec4a73a0b9d40fb5d9da9cbfla",
  • "amount": {
    },
  • "agio": 0
}

Link a document to a business fronting loan application

Links a business document resource to the business fronting loan application. Use this endpoint to upload the required documents for the loan application, such as signed contracts, credit risk reports, etc. You must add the document_id and document_type in the request body. Note that you must make a separate API call for each document.

Request
Security:
path Parameters
business_id
required
string

The ID of the business applying for a fronting loan.

application_id
required
string

The unique ID of a business fronting loan application.

Request Body schema: application/json

The application attributes

document_type
required
string

The type of the document.

document_id
required
string

The unique ID of the document resource.

Responses
204

No Content

400

Invalid request

403

Forbidden

404

Not Found

put/v1/businesses/{business_id}/fronting_loan_applications/{application_id}/documents
Request samples
application/json
{
  • "document_type": "SIGNED_CONTRACT",
  • "document_id": "69ec2a9d8dbaf5ea1b13124098a34ea3cdoc"
}
Response samples
application/json
{
  • "code": "build_pagination_headers_failure",
  • "detail": "Cannot connect to database.",
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "status": "400",
  • "title": "Failed to build pagination headers."
}

Link an identification resource to a business fronting loan application

Links a business identification resource to their fronting loan application. Afterward, the business must complete the BKYC process successfully to move forward with the fronting loan application. You must add the identification_id in the request body.

Request
Security:
path Parameters
business_id
required
string

The ID of the business applying for a fronting loan.

application_id
required
string

The unique ID of a business fronting loan application.

Request Body schema: application/json

Attributes required for linking a document to an application

identification_id
required
string

The unique ID of the identification resource created for the business.

Responses
204

No Content

400

Invalid request

403

Forbidden

404

Not Found

409

Conflict

put/v1/businesses/{business_id}/fronting_loan_applications/{application_id}/identification
Request samples
application/json
{
  • "identification_id": "1063504cf74919f60ae4c806bdc9ce75bid"
}
Response samples
application/json
{
  • "code": "build_pagination_headers_failure",
  • "detail": "Cannot connect to database.",
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "status": "400",
  • "title": "Failed to build pagination headers."
}

Trigger the loan payout for a business fronting loan application

Triggers the loan payout process to the respective business account. You must add the settlement_account_iban in the request body, which is a Solarisbank account, from which the loan amount is transferred to the business's account.

Request
Security:
path Parameters
business_id
required
string

The ID of the business applying for a fronting loan.

application_id
required
string

The unique ID of a business fronting loan application.

Request Body schema: application/json

Attributes required for a payout request

settlement_account_iban
required
string

The Solarisbank settlement account from which the loan amount is transferred to the business's account.

Responses
201

Loan

400

Invalid request

403

Forbidden

404

Not Found

post/v1/businesses/{business_id}/fronting_loan_applications/{application_id}/payout
Request samples
application/json
{
  • "settlement_account_iban": "DE07110101014503906016"
}
Response samples
application/json
{
  • "status": "payout_issued",
  • "settlement_account_iban": "DE07110101014503906016",
  • "recipient_name": "Max Mustermann",
  • "recipient_iban": "DE92370601930002130041",
  • "nominal_interest_rate": 0.299,
  • "id": "13651d2f3a274e768ec6d45b036e0f14bflo",
  • "effective_interest_rate": 0.309,
  • "duration": 24,
  • "collection_account_iban": "DE87110101001000057123",
  • "collateral_account_iban": "DE85110101014480677574",
  • "application_id": "89d4eaaa73ec4a73a0b9d40fb5d9da9cbfla",
  • "amount": {
    },
  • "agio": 0
}