Skip to content
Download OpenAPI description
Languages
Servers
Mock Server

https://docs.solarisgroup.com/_mock/api-reference/lending/loans/

Operations
Operations
Operations

Request

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

Bodyapplication/json

The anonymous offer attributes

number_of_dependentsintegerrequired

The number of dependents the customer has.

living_situationstringrequired

The customer's living situation.

Enum"LIVING_WITH_PARENTS""LIVING_IN_RENTED_HOUSE""LIVING_IN_OWN_HOUSE"
Example: "LIVING_IN_RENTED_HOUSE"
living_situation_amountobject(SolarisToolkit.Web.Money)required

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

Example: {"value":1000,"unit":"cents","currency":"EUR"}
living_situation_amount.​valueintegerrequired

The amount value

Example: 1000
living_situation_amount.​currencystringrequired

The currency of the given value. Only EURO is currently supported.

Example: "EUR"
living_situation_amount.​unitstringrequired

The unit of the given value.

Value"cents"
Example: "cents"
net_income_amountobject(SolarisToolkit.Web.Money)required

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

Example: {"value":1000,"unit":"cents","currency":"EUR"}
net_income_amount.​valueintegerrequired

The amount value

Example: 1000
net_income_amount.​currencystringrequired

The currency of the given value. Only EURO is currently supported.

Example: "EUR"
net_income_amount.​unitstringrequired

The unit of the given value.

Value"cents"
Example: "cents"
private_insurance_amountobject(SolarisToolkit.Web.Money)required

The amount of the private insurance the customer pays monthly.

Example: {"value":1000,"unit":"cents","currency":"EUR"}
private_insurance_amount.​valueintegerrequired

The amount value

Example: 1000
private_insurance_amount.​currencystringrequired

The currency of the given value. Only EURO is currently supported.

Example: "EUR"
private_insurance_amount.​unitstringrequired

The unit of the given value.

Value"cents"
Example: "cents"
requested_loan_amountobject(SolarisToolkit.Web.Money)required

The loan amount requested by the customer.

Example: {"value":1000,"unit":"cents","currency":"EUR"}
requested_loan_amount.​valueintegerrequired

The amount value

Example: 1000
requested_loan_amount.​currencystringrequired

The currency of the given value. Only EURO is currently supported.

Example: "EUR"
requested_loan_amount.​unitstringrequired

The unit of the given value.

Value"cents"
Example: "cents"
requested_loan_termintegerrequired

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

Example: 24
requested_interest_ratenumber or null(float)

The requested monthly interest rate to apply to the loan.

Example: 0.02
requested_emiobject or null(SolarisToolkit.Web.Money)

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

Example: {"value":1000,"unit":"cents","currency":"EUR"}
partner_reference_numberstring or null

Your internal reference number for the customer.

number_of_kidsinteger or null

The number of kids the customer has.

is_joint_applicationboolean or null

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

existing_credit_repayment_excluding_mortgageobject or null(SolarisToolkit.Web.Money)

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

Example: {"value":1000,"unit":"cents","currency":"EUR"}
additional_costsobject or null(SolarisToolkit.Web.Money)

Any additional costs the customer incurs on a regular basis.

Example: {"value":1000,"unit":"cents","currency":"EUR"}
application/json
{ "requested_loan_term": 24, "requested_loan_amount": { "value": 1000, "unit": "cents", "currency": "EUR" }, "requested_interest_rate": 0.02, "requested_emi": { "value": 1000, "unit": "cents", "currency": "EUR" }, "private_insurance_amount": { "value": 1000, "unit": "cents", "currency": "EUR" }, "partner_reference_number": "string", "number_of_kids": 0, "number_of_dependents": 0, "net_income_amount": { "value": 1000, "unit": "cents", "currency": "EUR" }, "living_situation_amount": { "value": 1000, "unit": "cents", "currency": "EUR" }, "living_situation": "LIVING_IN_RENTED_HOUSE", "is_joint_application": true, "existing_credit_repayment_excluding_mortgage": { "value": 1000, "unit": "cents", "currency": "EUR" }, "additional_costs": { "value": 1000, "unit": "cents", "currency": "EUR" } }

Responses

Anonymous Offer

Bodyapplication/json
loan_decisionstringrequired

Solaris' decision on the loan application.

Enum"REJECTED""OFFERED"
Example: "OFFERED"
offerobject or null
Response
application/json
{ "offer": { "monthly_installment": {}, "loan_term": 24, "loan_amount": {}, "interest_rate": 0.02 }, "loan_decision": "OFFERED" }

Request

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

No request payload

Responses

Two Thirds Rates

Bodyapplication/json
two_thirds_rateobjectrequired

The 2/3 interest rate for various loan terms.

Example: {"6":0.04,"12":0.04,"18":0.04}
Response
application/json
{ "two_thirds_rate": { "6": 0.04, "12": 0.04, "18": 0.04 } }

Request

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.

Path
person_idstringrequired

The person_id of the customer applying for the loan.

Bodyapplication/json

The application attributes

credit_record_idstringrequired

The unique ID of a customer's credit record.

Example: "fbb7d15fa4c54ba0b077592665ef04a4ccrd"
number_of_dependentsintegerrequired

The number of dependents the customer has.

living_situationstringrequired

The customer's living situation.

Enum"LIVING_WITH_PARENTS""LIVING_IN_RENTED_HOUSE""LIVING_IN_OWN_HOUSE"
Example: "LIVING_IN_RENTED_HOUSE"
living_situation_amountobject(SolarisToolkit.Web.Money)required

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

Example: {"value":1000,"unit":"cents","currency":"EUR"}
living_situation_amount.​valueintegerrequired

The amount value

Example: 1000
living_situation_amount.​currencystringrequired

The currency of the given value. Only EURO is currently supported.

Example: "EUR"
living_situation_amount.​unitstringrequired

The unit of the given value.

Value"cents"
Example: "cents"
loan_purposestringrequired

The purpose of the loan.

Example: "Buying a car."
moved_in_last_two_yearsbooleanrequired

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

net_income_amountobject(SolarisToolkit.Web.Money)required

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

Example: {"value":1000,"unit":"cents","currency":"EUR"}
net_income_amount.​valueintegerrequired

The amount value

Example: 1000
net_income_amount.​currencystringrequired

The currency of the given value. Only EURO is currently supported.

Example: "EUR"
net_income_amount.​unitstringrequired

The unit of the given value.

Value"cents"
Example: "cents"
partner_reference_numberstringrequired

Your internal reference number for the customer.

private_insurance_amountobject(SolarisToolkit.Web.Money)required

The amount of the private insurance the customer pays monthly.

Example: {"value":1000,"unit":"cents","currency":"EUR"}
private_insurance_amount.​valueintegerrequired

The amount value

Example: 1000
private_insurance_amount.​currencystringrequired

The currency of the given value. Only EURO is currently supported.

Example: "EUR"
private_insurance_amount.​unitstringrequired

The unit of the given value.

Value"cents"
Example: "cents"
repayment_day_of_monthintegerrequired

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

Enum115
Example: 1
requested_loan_amountobject(SolarisToolkit.Web.Money)required

The loan amount requested by the customer.

Example: {"value":1000,"unit":"cents","currency":"EUR"}
requested_loan_amount.​valueintegerrequired

The amount value

Example: 1000
requested_loan_amount.​currencystringrequired

The currency of the given value. Only EURO is currently supported.

Example: "EUR"
requested_loan_amount.​unitstringrequired

The unit of the given value.

Value"cents"
Example: "cents"
requested_loan_termintegerrequired

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

sellerstring or null

The name of the seller of the financed good.

payout_descriptionstring or null

Additional details around the loan payout.

solarisbank_scoringstring or null

Solaris' score for the customer.

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

Example: "DE92370601930002130041"
payout_account_namestring 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.

existing_credit_repayment_excluding_mortgageobject or null(SolarisToolkit.Web.Money)

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

Example: {"value":1000,"unit":"cents","currency":"EUR"}
requested_interest_ratenumber or null(float)

The requested monthly interest rate to apply to the loan.

Example: 0.02
payout_account_ibanstring 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.

delayed_payout_strategystring

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

Default "none"
Enum"none""after_revocation"
partner_scorestring or null

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

financed_goodstring or null

The financed good that was purchased using the loan.

employment_sincestring or null(date)

The date when the customer started their current employment.

Example: "2019-08-24"
cash_priceobject or null(SolarisToolkit.Web.Money)

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

Example: {"value":1000,"unit":"cents","currency":"EUR"}
number_of_kidsinteger or null

The number of kids the customer has.

is_joint_applicationboolean or null

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

employment_untilstring or null(date)

The date when the customer ended an employment.

solarisbank_risk_classinteger or null

The risk class assigned to the customer by Solaris.

additional_costsobject or null(SolarisToolkit.Web.Money)

Any additional costs the customer incurs on a regular basis.

Example: {"value":1000,"unit":"cents","currency":"EUR"}
requested_emiobject or null(SolarisToolkit.Web.Money)

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

Example: {"value":1000,"unit":"cents","currency":"EUR"}
mortgageobject or null(SolarisToolkit.Web.Money)Deprecated

The customer's mortgage payments (in EUR).

Example: {"value":1000,"unit":"cents","currency":"EUR"}
rentobject or null(SolarisToolkit.Web.Money)Deprecated

The customer's monthly rent (in EUR).

Example: {"value":1000,"unit":"cents","currency":"EUR"}
application/json
{ "seller": "string", "payout_description": "string", "solarisbank_scoring": "string", "private_insurance_amount": { "value": 1000, "unit": "cents", "currency": "EUR" }, "recipient_iban": "DE92370601930002130041", "payout_account_name": "string", "existing_credit_repayment_excluding_mortgage": { "value": 1000, "unit": "cents", "currency": "EUR" }, "mortgage": { "value": 1000, "unit": "cents", "currency": "EUR" }, "requested_interest_rate": 0.02, "requested_loan_term": 0, "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": { "value": 1000, "unit": "cents", "currency": "EUR" }, "number_of_kids": 0, "requested_loan_amount": { "value": 1000, "unit": "cents", "currency": "EUR" }, "is_joint_application": true, "employment_until": "2019-08-24", "net_income_amount": { "value": 1000, "unit": "cents", "currency": "EUR" }, "solarisbank_risk_class": 0, "additional_costs": { "value": 1000, "unit": "cents", "currency": "EUR" }, "rent": { "value": 1000, "unit": "cents", "currency": "EUR" }, "living_situation_amount": { "value": 1000, "unit": "cents", "currency": "EUR" }, "requested_emi": { "value": 1000, "unit": "cents", "currency": "EUR" } }

Responses

Application

Bodyapplication/json
idstringrequired

The unique ID of the loan offer.

Example: "9b3147c5498b405d9402630bc308ad0ecofr"
loan_decisionstringrequired

Solaris' decision on the consumer loan application.

Enum"REJECTED""OFFERED""OFFERED_ALTERNATIVE"
Example: "OFFERED"
offerobject or null(ConsumerLoan.Offer)
Example: {"type":"original","subsidized":false,"monthly_installment":{"value":10000000,"unit":"cents","currency":"EUR"},"loan_term":36,"loan_amount":{"value":10000000,"unit":"cents","currency":"EUR"},"interest_rate":0.12,"id":"105a0fa505f44afea4b433d170b83d87cofr","effective_interest_rate":0.13,"approximate_total_loan_expenses":{"value":10000000,"unit":"cents","currency":"EUR"},"annual_percentage_rate":0.13}
customer_categorystring or nullDeprecated

The customer's risk category as scored by Solaris' scoring system.

Enum"AMBER""GREEN""RED"
Example: "GREEN"
Response
application/json
{ "offer": { "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 }, "loan_decision": "OFFERED", "id": "9b3147c5498b405d9402630bc308ad0ecofr", "customer_category": "GREEN" }

Retrieve consumer loan application

Request

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.

Path
person_idstringrequired

The person_id of the customer applying for the loan.

application_idstringrequired

The unique ID of the customer's loan application.

No request payload

Responses

Application

Bodyapplication/json
idstringrequired

The unique ID of a customer's consumer loan application.

Example: "108787ede6b743dcbe0c3398bc4a6ce8clap"
statusstringrequired

The status of a consumer loan application.

Enum"offered""account_snapshot_verification""approved""esign_pending""screening_pending""esign_failed""loan_creation_pending""loan_created""rejected""deleted"
Example: "esign_pending"
status_descriptionstring or null

Additional details about the consumer loan application status.

skip_account_snapshotboolean
signing_idstring or null

The ID of the signing resource, created after the customer's identification and e-signing process has been triggered.

Example: "7c63600ddddec4f2668893af39c1b814csig"
sellerstring or null

The name of the seller of the financed good.

payout_descriptionstring or null

Additional details around the loan payout.

loan_idstring or null

The unique ID of a loan.

financed_goodstring or null

The financed good that was purchased using the loan.

delayed_payout_strategystring

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"
cash_priceobject or null(SolarisToolkit.Web.Money)

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

Example: {"value":1000,"unit":"cents","currency":"EUR"}
approximate_total_loan_expensesobject or null(SolarisToolkit.Web.Money)

An approximate amount of the loan total expenses (e.g., costs and expenses the lender incurred during a loan lifecycle)

Example: {"value":1000,"unit":"cents","currency":"EUR"}
Response
application/json
{ "status_description": "string", "status": "esign_pending", "skip_account_snapshot": true, "signing_id": "7c63600ddddec4f2668893af39c1b814csig", "seller": "string", "payout_description": "string", "loan_id": "string", "id": "108787ede6b743dcbe0c3398bc4a6ce8clap", "financed_good": "string", "delayed_payout_strategy": "none", "cash_price": { "value": 1000, "unit": "cents", "currency": "EUR" }, "approximate_total_loan_expenses": { "value": 1000, "unit": "cents", "currency": "EUR" } }

Skip the account snapshot process for a consumer loan application

Request

Skips the processing of an account snapshot in relation to the consumer loan application specified in the request URL.

Path
person_idstringrequired

The person_id of the customer applying for the loan.

application_idstringrequired

The unique ID of the customer's loan application.

Bodyapplication/json

Account Snapshot skip

object(ConsumerLoan.SkipAccountSnapshotRequest)
application/json
{}

Responses

No Content

Response
No content

Link an account snapshot to a consumer loan application

Request

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.

Path
person_idstringrequired

The person_id of the customer applying for the loan.

application_idstringrequired

The unique ID of the customer's loan application.

Bodyapplication/json

Account Snapshot link

account_snapshot_idstringrequired

The unique ID of a customer's account snapshot.

Example: "2a9fbb2fc5be45f7b8ca782c45715576snap"
application/json
{ "account_snapshot_id": "2a9fbb2fc5be45f7b8ca782c45715576snap" }

Responses

No Content

Response
No content

Upload the purchase contract related to the financed good

Request

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

Path
person_idstringrequired

The person_id of the customer applying for the loan.

application_idstringrequired

The unique ID of the customer's loan application.

Bodyapplication/json

Purchase contract attributes

filestringrequired

The contract file (Base64 encoded).

signature_positionobjectrequired
signature_position.​pagestringrequired
signature_position.​leftinteger>= 0required
signature_position.​widthinteger>= 0required
signature_position.​bottominteger>= 0required
signature_position.​heightinteger>= 0required
application/json
{ "signature_position": { "width": 0, "page": "string", "left": 0, "height": 0, "bottom": 0 }, "file": "string" }

Responses

No Content

Response
No content

Generate a subsidized offer for a consumer loan

Request

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.

Path
person_idstringrequired

The person_id of the customer applying for the loan.

application_idstringrequired

The unique ID of the customer's loan application.

offer_idstringrequired

The unique ID of a loan offer.

Bodyapplication/json

Subsidized offer attributes

interest_ratenumber(float)required

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

Example: 0.02
application/json
{ "interest_rate": 0.02 }

Responses

Subsidized loan offer

Bodyapplication/json
idstringrequired

The unique ID of the loan offer.

Example: "105a0fa505f44afea4b433d170b83d87cofr"
loan_amountobject(SolarisToolkit.Web.Money)required

The loan amount offered to the customer.

Example: {"value":1000,"unit":"cents","currency":"EUR"}
loan_amount.​valueintegerrequired

The amount value

Example: 1000
loan_amount.​currencystringrequired

The currency of the given value. Only EURO is currently supported.

Example: "EUR"
loan_amount.​unitstringrequired

The unit of the given value.

Value"cents"
Example: "cents"
loan_termintegerrequired

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

Example: 36
interest_ratenumber(float)required

The offered monthly interest rate to be applied to the loan.

Example: 0.12
annual_percentage_ratenumber(float)required

A percentage that represents the yearly cost of funds over the term of a loan. It includes interest, fees and additional costs associated with a loan.

Example: 0.13
effective_interest_ratenumber(float)required

The annual effective interest rate to be applied to the loan.

Example: 0.13
monthly_installmentobject(SolarisToolkit.Web.Money)required
Example: {"value":1000,"unit":"cents","currency":"EUR"}
monthly_installment.​valueintegerrequired

The amount value

Example: 1000
monthly_installment.​currencystringrequired

The currency of the given value. Only EURO is currently supported.

Example: "EUR"
monthly_installment.​unitstringrequired

The unit of the given value.

Value"cents"
Example: "cents"
approximate_total_loan_expensesobject(SolarisToolkit.Web.Money)required

An approximate amount of the loan total expenses (e.g., costs and expenses the lender incurred during a loan lifecycle).

Example: {"value":1000,"unit":"cents","currency":"EUR"}
approximate_total_loan_expenses.​valueintegerrequired

The amount value

Example: 1000
approximate_total_loan_expenses.​currencystringrequired

The currency of the given value. Only EURO is currently supported.

Example: "EUR"
approximate_total_loan_expenses.​unitstringrequired

The unit of the given value.

Value"cents"
Example: "cents"
subsidizedbooleanrequired

A field to indicate whether the loan offer is subsidized or not.

typestringrequired

The type of the loan offer.

Enum"original""decreased_amount""increased_term"
Example: "original"
Response
application/json
{ "type": "original", "subsidized": false, "monthly_installment": { "value": 10000000, "unit": "cents", "currency": "EUR" }, "loan_term": 36, "loan_amount": { "value": 10000000, "unit": "cents", "currency": "EUR" }, "interest_rate": 0.12, "id": "105a0fa505f44afea4b433d170b83d87cofr", "effective_interest_rate": 0.13, "approximate_total_loan_expenses": { "value": 10000000, "unit": "cents", "currency": "EUR" }, "annual_percentage_rate": 0.13 }

Download the pre-contractual information for consumer loan

Request

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.

Path
person_idstringrequired

The person_id of the customer applying for the loan.

application_idstringrequired

The unique ID of the customer's loan application.

offer_idstringrequired

The unique ID of a loan offer.

No request payload

Responses

The binary of the pre-contractual information (SECCI)

Bodyapplication/pdf
string(binary)(ConsumerLoan.DownloadOfferPreContractResponse)

Download the final contract for a consumer loan

Request

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

Path
person_idstringrequired

The person_id of the customer applying for the loan.

application_idstringrequired

The unique ID of the customer's loan application.

offer_idstringrequired

The unique ID of a loan offer.

No request payload

Responses

The binary of the offer contract

Bodyapplication/pdf
string(binary)(ConsumerLoan.DownloadOfferContractResponse)

Request

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.

Path
person_idstringrequired

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

application_idstringrequired

The unique ID of the customer's loan application.

Bodyapplication/json

The application attributes

object(ConsumerLoan.CreateLoanRequest)
application/json
{}

Responses

Loan

Bodyapplication/json
idstringrequired

The unique ID of the loan.

Example: "6c8b5faf3c2d4a5682c5c80ef7382387cloa"
Response
application/json
{ "id": "6c8b5faf3c2d4a5682c5c80ef7382387cloa" }