# Calculator

POST /partner/v3/shops/:uuid/calculations

To get a credit calculation from Inbank, use the POST /shops/:uuid/calculations request.

Note that this request returns the preliminary non-personalized credit conditions. The final conditions will be presented after the customer submits a credit application and receives a positive decision.

Endpoint: POST /partner/v3/shops/{shopUuid}/calculations
Security: bearerAuth

## Path parameters:

  - `shopUuid` (string, required)
    Example: "a93f1f44-d5dd-4469-bfcc-c1de9e969213"

## Request fields (application/json):

  - `productCode` (string, required)
    Reference to product code.
    Example: "product_code_here"

  - `amount` (number, required)
    Total financing amount. If down payment is used, then the amount includes the down payment amount. Minimum and maximum amount depends on product setup.
    Example: 2000

  - `period` (integer, required)
    Number of months for repayments; allowed values depend on product setup.
    Example: 12

  - `paymentDay` (integer)
    Payment day.
    Example: 5

  - `downPaymentAmount` (number)
    Down payment amount.

  - `currency` (string)
    Currency code in uppercase. For example:
- EUR
- PLN
- CZK
    Example: "EUR"

  - `responseLevel` (string)
    Indication of how detailed the returned response should be. It is recommended to use the minimum response level that is needed for a specific calculation, e.g. if only monthly payment is needed, then use simple.
    Enum: "simple", "advanced", "payment_schedule"

## Response 201 fields (application/json):

  - `productCode` (string)
    Product code.
    Example: "product_code_here"

  - `amount` (number)
    Loan amount.
    Example: 200.99

  - `period` (integer)
    Loan period.

  - `downPaymentAmount` (number)
    Down payment amount.

  - `paymentDay` (integer)
    Payment day.

  - `responseLevel` (string)
    Response level.
    Example: "simple"

  - `currency` (string)
    Currency.
    Example: "EUR"

  - `paymentAmountMonthly` (number)
    Monthly payment.

  - `interestRateAnnual` (number)
    Annual interest rate.

  - `creditCostRateAnnual` (number)
    Annual credit cost rate.

  - `totalCost` (number)
    Total cost.

  - `totalCostOfCredit` (number)
    Total cost of credit.

  - `downPaymentMinimumPercentage` (number)
    Down payment minimum percentage.

  - `downPaymentMinimumAmount` (number)
    Down payment minimum amount.

  - `advanced` (object)

  - `advanced.interestAmountTotal` (number)
    Total interest amount.

  - `advanced.contractFeeAmountTotal` (number)
    Contract fee.

  - `advanced.contractFeePercentage` (number)
    Contract fee percentage.

  - `advanced.contractFeeMinimum` (number)
    Minimum contract fee.

  - `advanced.adminFeeAmountMonthly` (number)
    Admin fee.

  - `advanced.adminFeeAmountTotal` (number)
    Total admin fee.

  - `advanced.insuranceFeeAmountTotal` (number)
    Insurance fee.

  - `advanced.netCreditAmount` (number)
    Net credit amount.

  - `advanced.interestBearingAmount` (number)
    Interest bearing amount.

  - `advanced.repaymentsAmountTotal` (number)
    Repayments amount.

  - `advanced.creditCostAmountTotal` (number)
    Total cost of credit.

  - `advanced.firstPaymentDate` (string)
    First payment date.
    Example: "2022-08-05"

  - `advanced.firstPaymentAmount` (number)
    First payment amount.

  - `advanced.lastPaymentDate` (string)
    Last payment date.
    Example: "2023-01-05"

  - `advanced.lastPaymentAmount` (number)
    Last payment amount.

  - `advanced.downPaymentMainPart` (number)
    Down payment main part.

  - `advanced.inbankPsDetails` (object)

  - `advanced.inbankPsDetails.interestType` (string)
    Interest calculation strategy. Example: floating

  - `advanced.inbankPsDetails.campaignInterestType` (string)
    Campaign interest calculation strategy. Example: floating

  - `advanced.inbankPsDetails.campaignInterestRate` (number)
    Interest rate on campaign period.

  - `advanced.inbankPsDetails.campaignInterestPeriodStartDate` (string)
    Campaign interest period start date.

  - `advanced.inbankPsDetails.campaignInterestPeriodEndDate` (string)
    Campaign interest period end date.

  - `advanced.inbankPsDetails.floatingInterestRate` (string)
    Floating interest rate.

  - `paymentSchedule` (array)
    Payment schedule items.

  - `paymentSchedule.itemNumber` (integer)
    Payment number.

  - `paymentSchedule.paymentDate` (string)
    Payment date.
    Example: "2022-06-29"

  - `paymentSchedule.balanceBefore` (number)
    Balance.

  - `paymentSchedule.principal` (number)
    Principal.

  - `paymentSchedule.residual` (number)
    Residual.

  - `paymentSchedule.interest` (number)
    Interest.

  - `paymentSchedule.contractFee` (number)
    Contract fee.

  - `paymentSchedule.adminFee` (number)
    Admin fee.

  - `paymentSchedule.insuranceFee` (number)
    Insurance fee.

  - `paymentSchedule.totalPayment` (number)
    Total payment.

## Response 401 fields (application/json):

  - `message` (string)
    Unauthorized
    Example: "unauthorized"

## Response 403 fields (application/json):

  - `message` (string)
    Unauthorized access
    Example: "User is not authorized to access this resource with an explicit deny"

## Response 404 fields (application/json):

  - `message` (string)
    Not Found
    Example: "not_found"

## Response 422 fields (application/json):

  - `message` (string)
    Unprocessable Entity

## Response 500 fields (application/json):

  - `message` (string)
    Internal server error
    Example: "internal_server_error"


