# Create consumer loan application Creates a consumer loan application and assigns it to the person with the 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. Endpoint: POST /v1/persons/{person_id}/consumer_loan_applications Version: 1.0 ## Path parameters: - `person_id` (string, required) The of the customer applying for the loan. ## Request fields (application/json): - `credit_record_id` (string, required) The unique ID of a customer's credit record. Example: "fbb7d15fa4c54ba0b077592665ef04a4ccrd" - `number_of_dependents` (integer, required) The number of dependents the customer has. - `living_situation` (string, required) The customer's living situation. Enum: "LIVING_WITH_PARENTS", "LIVING_IN_RENTED_HOUSE", "LIVING_IN_OWN_HOUSE" - `living_situation_amount` (object, 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.value` (integer, required) The amount value Example: 1000 - `living_situation_amount.currency` (string, required) The currency of the given value. Only EURO is currently supported. Example: "EUR" - `living_situation_amount.unit` (string, required) The unit of the given value. Enum: "cents" - `loan_purpose` (string, required) The purpose of the loan. Example: "Buying a car." - `moved_in_last_two_years` (boolean, required) Field to indicate whether the customer has moved and changed addresses in the last two years. - `net_income_amount` (object, required) The customer's net income amount in EUR after tax deduction. Example: {"value":1000,"unit":"cents","currency":"EUR"} - `partner_reference_number` (string, required) Your internal reference number for the customer. - `private_insurance_amount` (object, required) The amount of the private insurance the customer pays monthly. Example: {"value":1000,"unit":"cents","currency":"EUR"} - `repayment_day_of_month` (integer, required) The day of the month when the customer pays the loan installment. Enum: 1, 15 - `requested_loan_amount` (object, required) The loan amount requested by the customer. Example: {"value":1000,"unit":"cents","currency":"EUR"} - `requested_loan_term` (integer, required) The number of months over which the loan will be repaid. - `seller` (string,null) The name of the seller of the financed good. - `payout_description` (string,null) Additional details around the loan payout. - `solarisbank_scoring` (string,null) Solaris' score for the customer. - `recipient_iban` (string,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_name` (string,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 . - `existing_credit_repayment_excluding_mortgage` (object,null) The customer's existing debt repayments (in EUR) (excluding mortgage payments). Example: {"value":1000,"unit":"cents","currency":"EUR"} - `requested_interest_rate` (number,null) The requested monthly interest rate to apply to the loan. Example: 0.02 - `payout_account_iban` (string,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 . - `delayed_payout_strategy` (string) Field to indicate the payout strategy to be applied to the loan. If set to , then the loan payout will happen automatically. Enum: "none", "after_revocation" - `partner_score` (string,null) The score assigned to the customer by your internal scoring flow. - `financed_good` (string,null) The financed good that was purchased using the loan. - `employment_since` (string,null) The date when the customer started their current employment. Example: "2019-08-24" - `cash_price` (object,null) The cash price of the financed good (i.e., net price without financing fees, interest). Example: {"value":1000,"unit":"cents","currency":"EUR"} - `number_of_kids` (integer,null) The number of kids the customer has. - `is_joint_application` (boolean,null) A field to indicate whether the application is a joint application or not. - `employment_until` (string,null) The date when the customer ended an employment. - `solarisbank_risk_class` (integer,null) The risk class assigned to the customer by Solaris. - `additional_costs` (object,null) Any additional costs the customer incurs on a regular basis. Example: {"value":1000,"unit":"cents","currency":"EUR"} - `requested_emi` (object,null) 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"} - `mortgage` (object,null) The customer's mortgage payments (in EUR). Example: {"value":1000,"unit":"cents","currency":"EUR"} - `rent` (object,null) The customer's monthly rent (in EUR). Example: {"value":1000,"unit":"cents","currency":"EUR"} ## Response 200 fields (application/json): - `id` (string, required) The unique ID of the loan offer. Example: "9b3147c5498b405d9402630bc308ad0ecofr" - `loan_decision` (string, required) Solaris' decision on the consumer loan application. Enum: "REJECTED", "OFFERED", "OFFERED_ALTERNATIVE" - `offer` (object,null) 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} - `offer.loan_amount` (object, required) The loan amount offered to the customer. Example: {"value":1000,"unit":"cents","currency":"EUR"} - `offer.loan_amount.value` (integer, required) The amount value Example: 1000 - `offer.loan_amount.currency` (string, required) The currency of the given value. Only EURO is currently supported. Example: "EUR" - `offer.loan_amount.unit` (string, required) The unit of the given value. Enum: "cents" - `offer.loan_term` (integer, required) The number of months over which the loan will be repaid. Example: 36 - `offer.interest_rate` (number, required) The offered monthly interest rate to be applied to the loan. Example: 0.12 - `offer.annual_percentage_rate` (number, 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 - `offer.effective_interest_rate` (number, required) The annual effective interest rate to be applied to the loan. Example: 0.13 - `offer.monthly_installment` (object, required) Example: {"value":1000,"unit":"cents","currency":"EUR"} - `offer.approximate_total_loan_expenses` (object, 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"} - `offer.subsidized` (boolean, required) A field to indicate whether the loan offer is subsidized or not. - `offer.type` (string, required) The type of the loan offer. Enum: "original", "decreased_amount", "increased_term" - `customer_category` (string,null) The customer's risk category as scored by Solaris' scoring system. Enum: "AMBER", "GREEN", "RED" ## Response 400 fields (application/json): - `title` (string) Example: "Failed to build pagination headers." - `status` (string) Example: "400" - `id` (string) Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86" - `detail` (string) Example: "Cannot connect to database." - `code` (string) Example: "build_pagination_headers_failure" ## Response 422 fields (application/json): - `errors` (array, required) - `errors.id` (string, required) A UUID, preferably the request ID - `errors.status` (integer, required) The HTTP status - `errors.code` (string, required) some_computer_friendly_string - `errors.title` (string, required) Some short human friendly string - `errors.detail` (string, required) Some human friendly-ish detail: field is required - `errors.source` (object,null) Optional computer-friendly error source description Example: {"message":"is_required","field":"name"} - `errors.source.field` (string, required) Example: "name" - `errors.source.message` (string, required) Example: "is_required" - `errors.backtrace` (array,null) Optional array of backtrace lines