# API Requests
This section lists the API request required for the integration with the Inbank e-POS system. The following pages contain charts with demonstration of the request sequence. The enlisted API requests are used in the following way:
1. The shop retrieves a primary credit calculation using the [POST /calculations](./#operation/postCalculation) request. The response includes an approximate monthly payment based on the credit amount and period. The final conditions will be presented in e-POS after the customer submits an application. <br><br>
<b>Please note:</b>
Inbank payment methods should be available only for cart values that are within the price range agreed with Inbank. If you would like to receive the price range and other details of your Inbank product over API, please use the [GET /products](/api/additional-api-flow/#operation/getProducts) endpoint.
<br>
2. The e-shop initiates a payment session using the [POST /pos-sessions](./#operation/postPosSessions) endpoint. The request includes merchant domain name as one of the parameters. The `redirectUrl` from the response indicates the link to which the client is redirected to complete the financing process. <br><br>
3. The e-shop redirects the client to the e-POS environment. In e-POS customers are guided through a number of dialogs to complete the financing of the purchase. After the e-POS dialogs, customers are redirected back to the e-shop. The `returnUrl` is the one the e-shop included in the [POST /pos-sessions](./#operation/postPosSessions) request.<br><br>
4. If the flow is configured to request merchant approval before contract activation, the e-shop waits for the callback indicating that the payment session received the status `granted`. At this point, the e-shop retrieves the identifier of the contract using the [GET /pos-sessions](./#operation/getPosSession) request. After that, the merchant can either approve the credit contract, using [POST /:contractUuid/merchant-approval](./#operation/postMerchantApproval) request, or cancel it, using the [POST /:contractUuid/cancel](./#operation/cancelContract). The following step is necessary only if the contract was approved.<br><br>
5. Once the e-shop receives the callback indicating that the payment session received the status completed, the e-shop needs to check the contract status. First, the e-shop retrieves the identifier of the contract using the [GET /pos-sessions](./#operation/getPosSession) request. Retrieving the contract identifier again is not required if it was previously done to approve the contract. Then the e-shop checks the status of the credit contract using the [GET /contracts](./#operation/getContract) request. If the contract received status activated, the financing of the purchase has been successful.
<b>Note that this step should not be performed if you are integrating with the Pay next month payment product.</b>

If you would like to make a partial return for a Hire Purchase or a Split into parts contract, please refer to the [Partial Returns Guide](/api/partial-return-flow).
For any questions regarding the integration process, contact Inbank at:
- <b>Estonia</b>: <a href="mailto:integration@inbank.ee">integration@inbank.ee</a>
- <b>Latvia</b>: <a href="mailto:integration@inbank.lv">integration@inbank.lv</a>
- <b>Poland</b>: <a href="mailto:integration@inbank.pl">integration@inbank.pl</a>
- <b>Czechia</b>: <a href="mailto:integration@inbank.cz">integration@inbank.cz</a>
- <b>Lithuania</b>: <a href="mailto:integration@inbank.lt">integration@inbank.lt</a>

