openapi: 3.0.0 info: title: Uzum CrossBorder Transfer version: 0.1.0 description: > **Uzum CrossBorder Transfer** is an international money transfer service between Uzbekistan and other countries. It allows users to send and receive transfers by phone number or card number through a single, secure API. #### ⚙️ Key features - Transfers **to** Uzbekistan by phone number and card number - Transfers **from** Uzbekistan by card number - Cross-border payments for services in Uzbekistan - Retrieval of current exchange rates - Transfer status checks - Access to the registry of completed transfers #### ⚠️ Important - Availability of individual API features depends on the cooperation terms and is enabled by agreement with Uzum Bank. To enable the required operation types or clarify the methods available to you, contact your Uzum Bank manager. - The specification may change. Check the [Updates](#section/Updates) section for changes. - To check the status: - for a transfer, use [/transfer/status](#tag/Common-methods/operation/transferStatus); - for a payment, use [/payment/status](#tag/Cross-border-payments/operation/getPaymentStatus). - the response returns either the current operation status or an error if the operation was not received by the service: - `10212` for transfers; - `2xxxx` for payments. - Successfully credited funds cannot be refunded. - Funds debited from a UZ card as part of a transfer from Uzbekistan may be canceled if the crediting on the recipient side was not completed (see the [/cancel_debit](#tag/From-Uzbekistan/operation/cancelDebit) method). #### 🚀 **Quick start** - [Network connection setup](#section/Network-Setup) - [Authorization](#section/Authorization) - [Get exchange rates](#tag/Common-methods/operation/convert) - [Transfer to Uzbekistan](#tag/To-Uzbekistan) - [Transfer from Uzbekistan](#tag/From-Uzbekistan) - [Cross-border payment for services in Uzbekistan](#tag/Cross-border-payments) - [Check transfer status](#tag/Common-methods/operation/transferStatus) --- ## Getting started To integrate with the **CrossBorder Transfer API** quickly and smoothly, follow these steps: 1. **Set up network access and authorization** - Configure the [network connection](#section/Network-Setup) to Uzum Bank. - Obtain and securely store the [authorization token](#section/Authorization) from your Uzum Bank account manager. 2. **Review limits and supported banks** - Check the applicable [transfer limits](#section/Transfer-Limits). - Review the list of [supported banks in Uzbekistan](#section/List-of-Supported-Banks-in-Uzbekistan). 3. **Review key processes**: - [Exchange rate handling](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Calculation-of-the-Preliminary-Transfer-Amount) - [Transfer to Uzbekistan](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Transfers-to-Uzbekistan) - [Transfer from Uzbekistan](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Transfers-from-Uzbekistan) - [Cross-border payment for services in Uzbekistan](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Cross-border-Payment-for-Services-in-Uzbekistan) 4. **Run a test integration** Use the provided [test environment](#tag/Testing) to verify that all scenarios work as expected. 5. **Go live** After successful testing, you will receive access to the production environment and can move the integration to live operation. ## Network Setup The IPSec protocol is used to establish a network connection with Uzum Bank. IPSec is used in the production environment; the test environment is accessible over the internet. Before integration, please fill out this form and provide your manager with the IP addresses that will be used to send requests to Uzum Bank. ## Transfer Limits Limits are determined based on Uzbekistan-issued debit cards. ### Amount Limits - Minimum transfer — 1 tiyin (0.01 UZS). - Maximum single transfer amount — 19,999,999 UZS. - Cumulative 30-day — 9,999 USD. ### Limits on the Number of Transfers - Day — 5 transfers. - Month — 150 transfers. ### Increasing the Single Transfer Limit If you can provide additional recipient information, the single transfer limit can be increased. To request a limit increase, please contact your Uzum Bank manager. Additional information includes: - Series and number of the identity document (e.g., passport, ID card, or other equivalent document) - Sender’s address (as stated in the identity document) - Date of birth - Place of birth - Citizenship Providing additional information significantly reduces the likelihood of transfer rejections during compliance checks. ## Authorization Authorization is done via the HTTP Authorization header, which must be in every request. The header is generated using the "Basic" scheme and user credentials encoded in base64 format: `Authorization: Basic `. The user credentials, including the username and password, are provided by our team. To form the header: 1. Create a string from the username and password, separated by a colon, for example: `"myLogin:myPassword"`; 2. Encode the string in base64, the result might be `YWxhZGRpbjpvcGVuc2VzYW1l`; 3. Insert the result into the header; make sure there is a space between the word `"Basic"` and the encoded credentials. The header will look like: | Header | Value | |--------------------|------------------------------| | Authorization | Basic YWxhZGRpbjpvcGVuc2VzYW1l | ## Forming JSON Body ⚠️ If a field is not required and you do not plan to populate it, **do not include this field** in the request. An empty value is interpreted as a **submitted field with an error**. ## Working with Currency Rates Using the method [/cbt/v1/transfer/convert](#tag/Common-methods/operation/convert), you can request the currency exchange rate and display approximate debit and credit amounts to the sender. The rate depends on the recipient's payment system, and the exact calculation will be performed during the transfer feasibility check using methods [/cbt/v1/transfer/check_credit](#tag/To-Uzbekistan/operation/checkCredit) or [/cbt/v1/transfer/check_dedit](#tag/From-Uzbekistan/operation/checkDebit). If you plan to display approximate debit and credit amounts, please inform the user that these are approximate amounts, and the exact amounts will be provided in the next step. ## List of Supported Banks in Uzbekistan To perform transfers using a phone number, you must provide the sender with a list of supported banks in the recipient's country. The current list of banks in Uzbekistan is available in the table. The `BANK_LABEL` field is required in the request [/cbt/v1/transfer/check_credit](#tag/To-Uzbekistan/operation/checkCredit) for phone number transfers. ### Supported BINs **BIN (Bank Identification Number)** refers to the first 4–8 digits of the **PAN (Primary Account Number)** that identify the payment system and the card-issuing bank. Only cards with the BINs listed below are accepted for crediting funds to Uzbekistan. #### UzCard Download list BIN UzCard #### HUMO Download list BIN HUMO #### Visa Uzum Bank PAN starts with: `49169903` # Interaction Processes Between Your Service and Uzum Bank The interaction processes include: - [Calculation of the preliminary transfer amount](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Calculation-of-the-Preliminary-Transfer-Amount) - [Transfer to Uzbekistan](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Transfers-to-Uzbekistan) - [Transfer using the recipient's phone number](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Transfers-to-Uzbekistan/Transfer-Using-the-Recipient's-Phone-Number) - [Transfer using the card number](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Transfers-to-Uzbekistan/Transfer-Using-the-Card-Number) - [Transfer from Uzbekistan](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Transfers-from-Uzbekistan) - [Cross-border payment for services in Uzbekistan](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Cross-border-Payment-for-Services-in-Uzbekistan) - [Working with the service list and payment fields](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Cross-border-Payment-for-Services-in-Uzbekistan/Working-with-the-Service-List-and-Payment-Fields) ## Calculation of the Preliminary Transfer Amount . 1. The user enters the transfer amount in the debit currency. 2. The service sends a request to Uzum Bank for currency conversion [/cbt/v1/transfer/convert](#tag/Common-methods/operation/convert). The available currency pairs are: - RU - UZS - USD - UZS - EUR - UZS
**OR** 1. The user enters the transfer amount in the credit currency, UZS. 2. The service sends a request to Uzum Bank for currency conversion [/cbt/v1/transfer/convert](#tag/Common-methods/operation/convert): - UZS - RU - UZS - USD - UZS - EUR
3. Uzum Bank returns a response with the converted amount. 4. The service provides the user with a screen displaying the converted amounts. ## Transfers to Uzbekistan ### Transfer Using the Recipient's Phone Number . 1. The user enters the recipient's phone number. 2. The service requests banks with the recipient's active cards linked to the phone number using the [/cbt/v1/transfer/receiver_banks](#tag/To-Uzbekistan/operation/getReceiverBanksList) method. 3. Uzum Bank searches for banks with the recipient's active cards and returns them as a list. 4. The service displays the recipient's banks. 5. The user selects a bank. 6. The user enters the transfer amount in the debit currency. 7. The service sends a request to Uzum for a transfer feasibility check [/cbt/v1/transfer/check_credit](#tag/To-Uzbekistan/operation/checkCredit), specifying the debit amount, recipient's phone number, and recipient's bank. 8. Uzum Bank verifies the cards and limits, conducts compliance and anti-fraud procedures to ensure maximum transfer security. 9. Uzum Bank returns information about the feasibility of the transfer, the credit amount in UZS, and the debit amount in the debit currency. 10. The service provides the user with transfer information for review. 11. The user confirms the transfer. 12. The service sends a confirmation request to Uzum Bank [/cbt/v1/transfer/confirm_credit](#tag/To-Uzbekistan/operation/confirmCredit). To confirm the transfer, the operation must have the status `APPROVED`. ⚠️ We do not send callbacks for transfers with the `PENDING` status. If you receive this status, request the transfer state using the [/transfer/status](#tag/Common-methods/operation/transferStatus) method every hour until a final status (`SUCCESS` or `FAILED`) is returned. 13. Uzum Bank credits the funds to the card. 14. Uzum Bank returns information about the successful transfer. ``` If Uzum Bank returns an error, the process cannot continue. You need to handle the error and re-initiate the debit process. You should also initiate the cancellation of the failed payment in your system. ``` 15. The service provides the user with the transfer result. ### Transfer Using the Card Number . 1. The user enters the card number, first name, and last name of the recipient in Latin script. 2. The user enters the transfer amount in the debit currency. 3. The service sends a request to Uzum for a transfer feasibility check [/cbt/v1/transfer/check_credit](#tag/To-Uzbekistan/operation/checkCredit), specifying the credit amount and the card number. 4. Uzum Bank verifies the cards and limits, conducts compliance and anti-fraud procedures to ensure maximum transfer security. 5. Uzum Bank returns information about the feasibility of the transfer, the credit amount in UZS, and the debit amount in the debit currency. 6. The service provides the user with transfer information for review. 7. The user confirms the transfer. 8. The service sends a confirmation request to Uzum Bank [/cbt/v1/transfer/confirm_credit](#tag/To-Uzbekistan/operation/confirmCredit). To confirm the transfer, the operation must have the status `APPROVED`. ⚠️ We do not send callbacks for transfers with the `PENDING` status. If you receive this status, request the transfer state using the [/transfer/status](#tag/Common-methods/operation/transferStatus) method every hour until a final status (`SUCCESS` or `FAILED`) is returned. 9. Uzum Bank credits the funds to the card. 10. Uzum Bank returns information about the successful transfer. ``` If Uzum Bank returns an error, the process cannot continue. You need to handle the error and re-initiate the debit process. You should also initiate the cancellation of the failed payment in your system. ``` 11. The service provides the user with the transfer result. ## Transfers from Uzbekistan 1. The user enters the card number, first name, and last name of the recipient in Latin. 2. The user specifies the transfer amount in UZS. 3. The service sends a request to Uzum Bank to register the transfer using the method [/cbt/v1/transfer/check_debit](#tag/From-Uzbekistan/operation/checkDebit). 4. Uzum Bank performs anti-fraud checks to ensure the security of the transfer. 5. Uzum Bank updates the transaction status to "APPROVED." 6. Uzum Bank returns information about the transfer's feasibility, including the debit amount in UZS and the credit amount in the destination currency. 7. Uzum Bank sends an OTP to the user's number. 8. The service displays transfer information and a field for entering the OTP. If a resend of the OTP is required: - The service sends a request to resend the OTP using the method [/cbt/v1/transfer/resend_otp](#tag/From-Uzbekistan/operation/resendOTP). - Uzum Bank resends the OTP to the user. 9. The user enters the received OTP. 10. The service sends a request to Uzum Bank to confirm the transfer with the OTP using the method [/cbt/v1/transfer/confirm_debit](#tag/From-Uzbekistan/operation/confirmDebit). To confirm the transfer, the operation must have the status `APPROVED`. ⚠️ We do not send callbacks for transfers with the `PENDING` status. If you receive this status, request the transfer state using the [/transfer/status](#tag/Common-methods/operation/transferStatus) method every hour until a final status (`SUCCESS` or `FAILED`) is returned. In case of an incorrect OTP: - Uzum Bank returns an error indicating the number of attempts left. - The service notifies the user of the error and the remaining attempts. - The user enters a new OTP, and the process repeats. 11. Uzum Bank updates the transaction status to "PENDING." 12. Uzum Bank debits the funds. 13. Uzum Bank updates the transaction status to "SUCCESS." 14. Uzum Bank sends information about the successful transfer. If Uzum Bank does not respond: - The service sends a request for the transaction status using the method [/cbt/v1/transfer/status](#tag/Common-methods/operation/transferStatus). - Uzum Bank returns the current transaction status. 15. The service displays the transfer result to the user. ## Transfers from Uzbekistan via Tokenized Linked Cards We return the card token in the response to the debit confirmation request [/cbt/v1/transfer/confirm_debit](#tag/From-Uzbekistan/operation/confirmDebit). You can use this token to link the card to the user in your application and, for subsequent debits, send only the `senderCardToken` parameter instead of `senderCardPan` and `senderCardExpireDate`. ## Cross-border Payment for Services in Uzbekistan To enable **cross-border payments for services in Uzbekistan**, contact your Uzum Bank manager. Access to this operation type is enabled separately and depends on the cooperation terms. > Please also clarify the current and complete list of payable services with your manager. Through the API, the partner receives only the services available within the enabled functionality. . 1. The partner requests the list of available services from Uzum Bank using [/cbt/v1/payment/service_list](#tag/Cross-border-payments/operation/getServiceList). The response can be stored on the partner side so that service fields do not need to be requested for every payment attempt. 2. Uzum Bank returns the list of services available for payment. 3. The user selects a service on the partner side and fills in the required details. 4. If the payment amount is set in the partner's currency, the partner can calculate the UZS amount in advance using [/cbt/v1/transfer/convert](#tag/Common-methods/operation/convert). The cross-border payment flow also supports exchange rate calculation on the partner side: in this case, the partner sends the amount in its own currency and the exchange rate in payment requests. 5. If the selected service requires checking the details and receiving a specific payment amount, the partner sends the details to Uzum Bank using [/cbt/v1/payment/check_service](#tag/Cross-border-payments/operation/checkService). 6. Uzum Bank checks the details and returns the calculated payment amount in UZS and in the partner's currency. 7. If the service allows an arbitrary amount, the partner can skip `/check_service` and create the payment immediately. 8. The partner creates the payment using [/cbt/v1/payment/check_payment](#tag/Cross-border-payments/operation/checkPayment). The payment amount in the request is always sent in UZS. 9. Uzum Bank returns the created payment data and the current operation status. 10. The partner debits the user on its side. 11. After a successful debit, the partner confirms the payment in Uzum Bank using [/cbt/v1/payment/confirm_payment](#tag/Cross-border-payments/operation/confirmPayment). 12. Uzum Bank executes the payment and returns the result: payment status and the fiscal receipt link `ofdUrl`. 13. If the payment status is not final, the partner additionally requests the current status using [/cbt/v1/payment/status](#tag/Cross-border-payments/operation/getPaymentStatus). 14. For reconciliation, the partner requests the payment registry using [/cbt/v1/payment/payment_list](#tag/Cross-border-payments/operation/getPaymentList). ### Working with the Service List and Payment Fields Get the service list using [/cbt/v1/payment/service_list](#tag/Cross-border-payments/operation/getServiceList). The method accepts the page number and limit: ```json { "page": 1, "limit": 20 } ``` The response returns the `serviceList` array and the `paginationResponse` object. The service list changes rarely, so it can be cached on the partner side. A `service` object describes the service and the fields that must be shown to the user: ```json { "serviceId": 224, "name": "Tashkent city", "minAmount": 500, "maxAmount": 5000000, "isFixedAmount": false, "fields": [] } ``` | Field | Description | |-------|-------------| | `serviceId` | Service identifier. Send it in all subsequent payment requests. | | `name` | Service name to display to the user. | | `minAmount` / `maxAmount` | Allowed payment amount range in tiyin. | | `isFixedAmount` | If `true`, do not show the amount input to the user: receive the amount from [/cbt/v1/payment/check_service](#tag/Cross-border-payments/operation/checkService) and send it to [/cbt/v1/payment/check_payment](#tag/Cross-border-payments/operation/checkPayment). If `false`, the user enters the amount in the `minAmount`-`maxAmount` range. | | `fields` | Payment form fields that must be filled before calling `/check_service` or `/check_payment`. | Each object in `fields` describes one form field: ```json { "key": "customer_code", "title": "Customer account", "type": "S", "regex": "^\\d{6,10}$", "values": [] } ``` | Field | Description | |-------|-------------| | `key` | Field key. Send it in `serviceParameters.key`. | | `title` | Field name to display to the user. | | `type` | Field type. Allowed values: `S` for string, `N` for number, `E` for a value selected from the `values` dictionary. | | `regex` | Regular expression for validating the value. If `regex` is not set, no additional pattern validation is required. | | `values` | Value dictionary for fields with type `E`. Send the selected item's `code` in the request, not `name`. | #### Displaying Fields to the User - For `S`, show a text input. - For `N`, show a numeric input and apply `regex` if it is set. - For `E`, show a dropdown built from `values`; display `name` to the user and send `code` in the request. Example of passing filled fields: ```json { "serviceId": 224, "serviceParameters": [ { "key": "soato", "value": "26262" }, { "key": "customer_code", "value": "1234567890" } ] } ``` Before calling [/cbt/v1/payment/check_service](#tag/Cross-border-payments/operation/checkService), we recommend checking that all fields are filled, values match `regex` if it is set, and the amount is within `minAmount`-`maxAmount` if `isFixedAmount: false`. # State Model The state model below applies to: - transfers to Uzbekistan; - transfers from Uzbekistan; - cross-border payments for services in Uzbekistan. ⚠️ **Note**: the `REVERSED` status is used only for transfers from Uzbekistan and means that the debit was canceled using [/cbt/v1/transfer/cancel_debit](#tag/From-Uzbekistan/operation/cancelDebit). Currently, cancellation is not supported for transfers to Uzbekistan or cross-border payments. | Status | Description | |------------|-------------| | REGISTERED | Initial status after calling [/transfer/check_credit](#tag/To-Uzbekistan/operation/checkCredit), [/transfer/check_debit](#tag/From-Uzbekistan/operation/checkDebit), or [/payment/check_payment](#tag/Cross-border-payments/operation/checkPayment). | | APPROVED | The [/transfer/check_credit](#tag/To-Uzbekistan/operation/checkCredit), [/transfer/check_debit](#tag/From-Uzbekistan/operation/checkDebit), or [/payment/check_payment](#tag/Cross-border-payments/operation/checkPayment) method was successfully executed. | | PENDING | The [/transfer/confirm_credit](#tag/To-Uzbekistan/operation/confirmCredit), [/transfer/confirm_debit](#tag/From-Uzbekistan/operation/confirmDebit), or [/payment/confirm_payment](#tag/Cross-border-payments/operation/confirmPayment) method was called. We do not send callbacks for operations with the `PENDING` status. If you receive this status, request the transfer state using [/transfer/status](#tag/Common-methods/operation/transferStatus) or the payment state using [/payment/status](#tag/Cross-border-payments/operation/getPaymentStatus) every hour until a final status (`SUCCESS` or `FAILED`) is returned. | | SUCCESS | The transfer or payment was completed successfully. | | FAILED | The transfer or payment failed. | | REVERSED | The debit for a transfer from Uzbekistan was canceled using [/transfer/cancel_debit](#tag/From-Uzbekistan/operation/cancelDebit). | # Updates ## 30.07.2026 - Added PDF test scenarios for cross-border payments for services in Uzbekistan to [Testing](#tag/Testing): mock testing and real integration with suppliers. - Added a note to [Testing](#tag/Testing) that partners must contact technical support before running mock test cases. - Updated the [/payment/service_list](#tag/Cross-border-payments/operation/getServiceList) and [/payment/payment_list](#tag/Cross-border-payments/operation/getPaymentList) response schemas: `services` and `payments` were renamed to `serviceList` and `paymentList`, and `pagination` was renamed to `paginationResponse`. - Updated the `ServiceField.type` enum in [Working with the Service List and Payment Fields](#section/Interaction-Processes-Between-Your-Service-and-Uzum-Bank/Cross-border-Payment-for-Services-in-Uzbekistan/Working-with-the-Service-List-and-Payment-Fields) and in the [/payment/service_list](#tag/Cross-border-payments/operation/getServiceList) response schema: allowed values are `S`, `N`, `E`; `ServiceField.regex` and `Service.isFixedAmount` can now be `null`. ## 16.07.2026 - Clarified the [/check_credit](#tag/To-Uzbekistan/operation/checkCredit) method description: for transfers by recipient phone number (`identificationType = PHONE`), the `bankLabel` parameter is required. A phone-number transfer cannot be performed without `bankLabel`; no default card is selected for crediting. - Added error codes `20101`-`20211` for cross-border payments. ## 15.07.2026 - Added cross-border payments for services in Uzbekistan to the English specification. - Updated the [/payment/service_list](#tag/Cross-border-payments/operation/getServiceList) specification: the service description now includes `minAmount`, `maxAmount`, `isFixedAmount`, and payment fields now include the `values` dictionary with `code` and `name`. - Added instructions for working with the `service` object, field types `STRING`, `NUMBER`, `SELECT`, `isFixedAmount` logic, and client-side validation before calling [/payment/check_service](#tag/Cross-border-payments/operation/checkService). ## 13.07.2026 - Updated the maximum single transfer amount — **19,999,999 UZS**. ## 30.04.2026 - The `code` field in the [/confirm_debit](#tag/From-Uzbekistan/operation/confirmDebit) method now accepts **digits and latin characters** in both lowercase and uppercase (pattern: `[0-9a-zA-Z]{4,6}`). The length constraint (4–6 characters) remains unchanged. ## 02.07.2025 - A new identification type was added to the [/check_credit](#tag/To-Uzbekistan/operation/checkCredit) method: **`identificationType = TOKEN`** — a string containing the tokenized card number. The `identificationValue` parameter description was updated to clarify formats for `PHONE`, `CARD`, and `TOKEN`. - Added support for new currencies in the `senderCurrencyCode` and `receiverCurrencyCode` parameters of the [/check_credit](#tag/To-Uzbekistan/operation/checkCredit) and [/check_debit](#tag/From-Uzbekistan/operation/checkDebit) methods. This works for partners who provide their own exchange rates. **Supported currencies:** `UZS`, `RUB`, `USD`, `EUR`, `TJS`. ## 30.05.2025 - Added information about [supported card BINs](#section/List-of-Supported-Banks-in-Uzbekistan) for transfers to the Republic of Uzbekistan. - Added information about the minimum transfer amount — **1 tiyin (0.01 UZS)**. - Added description for error [10317](#tag/Error-Codes). - Updated the request parameters object for method [/check_debit](#tag/From-Uzbekistan/operation/checkDebit): updated the **sender** and **receiver** objects. - Updated the textual description for method [/transfer_list](#tag/Common-methods/operation/transferList): The method returns a registry of operations for the last **2 months (60 calendar days)**. - Added methods for working with recipient cards: - Retrieval of [card list](#tag/To-Uzbekistan/operation/getReceiverCardsByPhone) by phone number. - Retrieval of [card information](#tag/To-Uzbekistan/operation/getReceiverCardsByPAN) by PAN. ## 15.04.2025 - Updated the [Postman collection](#tag/Testing) with test cases. - Modified the request parameter for the [/cancel_debit](#tag/From-Uzbekistan/operation/cancelDebit) method: the `cancellationReason` field has been renamed to `reason`. - Updated the response structure for the `/confirm_credit`, `/confirm_debit`, `/cancel_debit`, `/status`, and `/check_credit` methods: the `paymentSystem` field is now called `receiverPaymentSystem`. - Revised and clarified the [error descriptions](#tag/Error-Codes). - Added information about the [transfer volume limits](#section/Transfer-Limits). Day — 5 transfers. Month — 150 transfers. - Updated the [transfer status model](#section/State-Model): a new `REVERSED` status has been added — it is assigned when a credit is cancelled using the [/cancel_debit](#tag/From-Uzbekistan/operation/cancelDebit) method. | Status | Description | |------------|--------------------------------------------------------------------| | REGISTERED | Initial status after calling the `/check_credit` or `/check_debit` method. | | APPROVED | The `/check_credit` or `/check_debit` method was successfully executed. | | PENDING | The `/confirm_credit` or `/confirm_debit` method was called. ⚠️ We do not send callbacks for transfers with the PENDING status. If you receive this status, request the transfer state using the [/transfer/status](#tag/Common-methods/operation/transferStatus) method every hour until a final status (`SUCCESS` or `FAILED`) is returned. | | SUCCESS | The credit was successfully completed. | | FAILED | The credit process failed. | | REVERSED | The credit was reversed using the `/cancel_debit` method. | servers: - url: https://crossborder.transfer.uz security: - basicAuth: [] x-tagGroups: - name: API tags: - Common methods - From Uzbekistan - To Uzbekistan - Cross-border payments - Testing - Error Codes tags: - name: Common methods - name: From Uzbekistan description: Methods for transfers from Uzbekistan - name: To Uzbekistan description: Methods for transfers to Uzbekistan - name: Cross-border payments description: Methods for cross-border payments for services in Uzbekistan - name: Testing description: > API integration testing ensures proper interaction between systems and identifies and resolves errors in data exchange. Follow the steps below to ensure correct interaction: 1. Obtain the login and password for the test environment from the Uzum Bank manager. 2. Use the test environment: crossborder-transfer.ub.ufintech.uz 3. Go through test scenarios. We prepared scenarios for transfers to Uzbekistan in English and a Postman collection. 4. Payment test scenarios for cross-border payments for services in Uzbekistan are available for mock testing and real integration with suppliers. ⚠️ Before running the mock test cases, contact your Uzum Bank manager. - name: Error Codes description: "This section lists error codes that can be returned by the API. Use the error code together with the method that returned it to determine the reason for the failure and the required handling on the partner side.\n\nError codes for **transfers** start with `1` and have the `1xxxx` format.\n\nError codes for **cross-border payments** start with `2` and have the `2xxxx` format.\n\n- [Transfer error codes](#section/Error-Codes/Transfer-error-codes)\n- [Cross-border payment error codes](#section/Error-Codes/Cross-border-payment-error-codes)\n\n## Transfer error codes\n\n| Error Code | Error Message | Error Description | Returns From |\n|------------|-----------------------------------------------------------------------|-------------------------------------|-------------|\n| 10001 | Authorization Error. Access denied. | Error in the specified credentials. Login/password is missing from the request or provided incorrectly. | All methods |\n| 10002 | Validation Error + reason in errorDetails. | Data format error. Missing required parameters in the request. Data validation error. | All methods |\n| 10005 | Service Error. | Unexpected internal error during request processing. | All methods |\n| 10006 | Access denied. This method is not available. | Attempt to call a method unavailable to the partner. | Credit methods if only transfers from Uzbekistan are agreed in the contract.
Debit methods if only transfers to Uzbekistan are agreed in the contract. |\n| 10101 | Service Error. | Error in one of Uzum's internal services accessed by CrossBorder Transfer service during operation. | /check_credit
/confirm_credit
/receiver_banks
/check_debit
/confirm_debit
/convert
/account/operations
/account/closing_balance |\n| 10201 | Sender Check Failed. | Sender failed blacklist check. | /check_credit
/check_debit |\n| 10202 | Receiver Check Failed. | Recipient failed blacklist check. | /check_credit
/check_debit |\n| 10203 | Receiver cards not found. | Receiver’s cards not found based on the request data. | /check_credit |\n| 10204 | Receiver card payment system not supported | Receiver’s card must belong to HUMO, Uzcard, or Visa Uzum Bank payment systems. | /check_credit |\n| 10208 | Exchange rate changed or incorrect amounts | Exchange rate has changed since the /check call or incorrect amounts were provided. | /confirm_credit
/confirm_debit |\n| 10209 | One-Time limit exceeded | Attempt to transfer an amount that exceeds the one-time transaction limit. | /check_credit
/confirm_debit
/check_debit
/confirm_debit |\n| 10210 | Monthly limit exceeded | Attempt to transfer an amount that exceeds the monthly limit. | /check_credit
/confirm_debit
/check_debit
/confirm_debit |\n| 10211 | Transfer already exists | Attempt to check an existing transfer. Provided transfer ID is not unique. | /check_credit
/check_debit |\n| 10212 | Transfer not found | Transfer with the specified ID not found. | /confirm_credit
/confirm_debit
/status
/resend_otp
/cancel_debit |\n| 10220 | Transfer not approved | Attempt to confirm an operation in an incorrect status | |\n| 10221 | Transfer expired. | Confirmation request received 20 or more minutes after a successful transfer verification request. | /confirm_credit
/resend_otp
/confirm_debit |\n| 10222 | Limit check failed. | Limits are not set for the partner. | All methods |\n| 10224 | Error during crediting transfer. | Error during crediting funds. | /confirm_credit |\n| 10225 | Receiver bank not found. | The specified receiver card was not found in the specified bank. | /check_credit |\n| 10227 | Transfer status must be SUCCESS to reverse. | Attempt to cancel a debit-transfer that is not in SUCCESS status. | /cancel_debit |\n| 10228 | Sender card payment system not supported. | The payment system for the Sender’s card must be HUMO, Uzcard or Visa Uzum Bank. | /check_debit |\n| 10301 | Sender card not found. | Sender's debit card not found in the payment processing. | /check_debit
/resend_otp |\n| 10302 | Payment Processing Temporary Unavailable. | Payment processing is temporarily unavailable. Try again later. | /check_debit
/resend_otp
/confirm_debit |\n| 10303 | Sender bank not found. | The specified sender card was not found in the specified bank. | /check_debit |\n| 10310 | OTP Expired. | OTP has expired. A new OTP needs to be requested. | /confirm_debit |\n| 10311 | OTP incorrect. Try again. | Incorrect OTP specified; There are remaining attempts for retry. | /confirm_debit |\n| 10312 | OTP incorrect. Attempts exceeded. Transfer failed. | Incorrect OTP specified; There are no remaining attempts for retry. | /confirm_debit
/resend_otp |\n| 10316 | Error during debiting transfer. | An error occurred during the debit execution in the payment processing. | /confirm_debit |\n| 11001 | Account not found. | The method for retrieving the closing balance or obtaining an account statement was called with an incorrect account number. | /account/closing_balance
/account/operations |\n| 11002 | The requested period exceeds the allowed limit of [PERIOD] days. | The number of days in the interval specified in the request for retrieving the Partner's account statement has been exceeded. | /account/operations |\n| 11003 | The operation is in progress. Please try again in a few minutes.\t | The allowed number of requests for the method to get balance information or account statement has been exceeded. | /account/closing_balance
/account/operations |\n| 10102 | Not supported for the predefined exchange rate source.\t | Partner using the custom exchange rate scenario has called one of the debit methods for Uz cards or the /convert method. | /convert |\n| 10240 | Receiver banks not found.\t | No recipient banks were found that issued cards linked to the specified phone number. | /receiver_banks |\n| 10230 | Daily quantity limit exceeded.\t | Attempt to make more than 5 transfers to the recipient's card within a day (to Uzbekistan). Attempt to make more than 5 transfers within a day from the sender's card (from Uzbekistan). | /check_credit
/confirm_debit
/check_debit
/confirm_debit |\n| 10231 | Monthly quantity limit exceeded.\t | Attempt to make more than 150 transfers to the recipient's card within a month (to Uzbekistan). Attempt to make more than 150 transfers within a month from the sender's card (from Uzbekistan). | /check_credit
/confirm_debit
/check_debit
/confirm_debit |\n| 10317 | The client's phone number does not match the phone number registered for card notification services. | The phone number provided in the request body does not match the phone number linked to the card.\t| /check_debit |\n| 10401 | Card is blocked or restricted by processing | The card is blocked or restricted on the processing side | Returned in the `error` block within an HTTP 200 translation response. Contains the reason why the translation transitioned to the `FAILED` status. |\n| 10402 | Card is expired, inactive or not found in processing | The card has expired, is inactive, or cannot be found in the processing system | Returned in the `error` block within an HTTP 200 translation response. Contains the reason why the translation transitioned to the `FAILED` status. |\n| 10403 | Processing limit exceeded | According to processing, the applicable limits for this operation have been exceeded | Returned in the `error` block within an HTTP 200 translation response. Contains the reason why the translation transitioned to the `FAILED` status. |\n| 10404 | Operation declined by processing antifraud system | The operation was identified by processing as potentially fraudulent and was declined by the processing antifraud system | Returned in the `error` block within an HTTP 200 translation response. Contains the reason why the translation transitioned to the `FAILED` status. |\n| 10405 | Processing error during crediting transfer | An error occurred on the processing side while performing the crediting operation | Returned in the `error` block within an HTTP 200 translation response. Contains the reason why the translation transitioned to the `FAILED` status. |\n| 10406 | Insufficient funds detected by processing | According to processing, there are insufficient funds on the sender’s card to complete this operation | Returned in the `error` block within an HTTP 200 translation response. Contains the reason why the translation transitioned to the `FAILED` status. |\n| 10407 | Processing error during debiting transfer | An error occurred on the processing side while performing the debit operation | Returned in the `error` block within an HTTP 200 translation response. Contains the reason why the translation transitioned to the `FAILED` status. |\n\n## Cross-border payment error codes\n\n| Error Code | Error Message | Error Description | Returns From |\n|------------|---------------|-------------------|-------------|\n| 20101 | Service not found | The service with the specified ID was not found. | /check_payment
/check_service |\n| 20102 | Service not active | The service is not available for payment. | /check_payment
/check_service |\n| 20103 | Service not active | The service is not available for payment. | /confirm_payment
/check_payment |\n| 20104 | Service not available now | Payment for this service is temporarily unavailable. | /confirm_payment
/check_payment |\n| 20105 | Invalid service parameters | The service payment parameters are invalid. | /check_payment
/confirm_payment |\n| 20200 | Payment forbidden | Payment for this service is forbidden. | /confirm_payment |\n| 20201 | Payment already exists | Attempt to check an existing payment. The provided payment ID is not unique. | /check_payment |\n| 20202 | Transfer not found | Payment with the specified ID was not found. | /confirm_payment
/payment/status |\n| 20203 | Payment not approved | Attempt to confirm a payment in an invalid status. | /confirm_payment |\n| 20204 | Payment expired | The confirmation request was received 20 or more minutes after the successful payment check request. | /confirm_payment |\n| 20205 | Payment failed | An error occurred while processing the service payment. | /confirm_payment
/check_payment |\n| 20206 | Invalid payment amount | The payment amount is invalid. | /confirm_payment
/check_payment |\n| 20207 | Client number not found | The client number was not found. | /confirm_payment
/check_payment |\n| 20208 | Number does not exist | The number does not exist. | /confirm_payment
/check_payment |\n| 20209 | Invalid phone number | The phone number is invalid. | /confirm_payment
/check_payment |\n| 20210 | Payment declined by antifraud system | The payment was declined by the antifraud system. | /confirm_payment
/check_payment |\n| 20211 | Payer verification failed | The payer failed the check. | /check_payment
/check_service |\n" paths: /cbt/v1/payment/check_service: post: tags: - Cross-border payments summary: Get Information About the Future Payment Amount description: > This method is optional. Use `/check_service` when the selected service requires checking the details and receiving a specific payment amount. First, get the `serviceId` and the set of fields required to pay for the service. If the service allows an arbitrary amount, `/check_service` can be skipped and the payment can be created immediately using `/check_payment`. operationId: checkService requestBody: description: Data for checking the service content: application/json: schema: $ref: '#/components/schemas/CheckServiceRequest' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/CheckServiceResponse' '400': description: Error response content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/payment/check_payment: post: tags: - Cross-border payments summary: Run Pre-payment Checks and Create a Cross-border Payment description: >- Check the user, the availability of the selected service, and create a payment operation. First, get the `serviceId` and the set of fields required to pay for the service.

The `paymentAmount` is always expected in UZS. operationId: checkPayment requestBody: description: Data for creating the payment content: application/json: schema: $ref: '#/components/schemas/CheckPaymentRequest' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/CheckPaymentResponse' '400': description: Error response content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/payment/confirm_payment: post: tags: - Cross-border payments summary: Confirm a Cross-border Payment description: Confirm execution of a cross-border payment. operationId: confirmPayment requestBody: description: Data for confirming the payment required: true content: application/json: schema: $ref: '#/components/schemas/PaymentRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PaymentResponse' '400': description: Error response content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/payment/status: post: tags: - Cross-border payments summary: Get Payment Status description: Get the current status of a cross-border payment. operationId: getPaymentStatus requestBody: description: Data for getting the payment status required: true content: application/json: schema: $ref: '#/components/schemas/PaymentRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PaymentResponse' '400': description: Error response content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/payment/service_list: post: tags: - Cross-border payments summary: Get the List of Services Available for Payment description: > The method returns the services available to the partner for payment, including the set of fields required for each service. The response can be stored on the partner side. There is no need to request all service fields for every payment attempt. operationId: getServiceList requestBody: required: true description: Data for getting the list of available services content: application/json: schema: $ref: '#/components/schemas/ServiceListRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ServiceListResponse' '400': description: Error response content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/payment/payment_list: post: tags: - Cross-border payments summary: Get Payment Registry description: Get the payment registry by filter for the last 2 months. operationId: getPaymentList requestBody: required: true description: Filter for getting payments content: application/json: schema: $ref: '#/components/schemas/PaymentListRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PaymentListResponse' '400': description: Error response content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/card_list: post: tags: - To Uzbekistan summary: Retrieve the list of cards by phone number description: >- This method is available by agreement only. To activate it, please contact your Uzum Bank manager. operationId: getReceiverCardsByPhone requestBody: description: JSON object with request parameters. required: true content: application/json: schema: $ref: '#/components/schemas/ReceiverCardsByPhoneRequest' responses: '200': description: description content: application/json: schema: $ref: '#/components/schemas/ReceiverCardsByPhoneResponse' '400': description: Error object. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/card: post: tags: - To Uzbekistan summary: Retrieve card information by PAN description: >- This method is available by agreement only. To activate it, please contact your Uzum Bank manager. operationId: getReceiverCardsByPAN requestBody: description: JSON object containing request parameters. required: true content: application/json: schema: $ref: '#/components/schemas/ReceiverCardsByPANRequest' responses: '200': description: description content: application/json: schema: $ref: '#/components/schemas/CardResponse' '400': description: Error object. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/receiver_banks: post: tags: - To Uzbekistan operationId: getReceiverBanksList summary: Get the recipient's list of banks description: >- Returns a list of banks where the Recipient has active cards linked to the specified phone number. requestBody: content: application/json: schema: $ref: '#/components/schemas/ReceiverBanksRequest' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ReceiverBanksResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: No banks found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Service Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/check_debit: post: tags: - From Uzbekistan summary: Register Transfer from Uzbekistan and Send OTP operationId: checkDebit requestBody: description: JSON object with request parameters. content: application/json: schema: $ref: '#/components/schemas/CheckDebitRequest' required: true responses: '200': description: description content: application/json: schema: allOf: - $ref: '#/components/schemas/CheckDebitResponse' - type: object properties: error: $ref: '#/components/schemas/Error' '400': description: Error object content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/resend_otp: post: tags: - From Uzbekistan summary: Resend OTP operationId: resendOTP requestBody: description: JSON object with request parameters content: application/json: schema: $ref: '#/components/schemas/ResendOTPRequest' required: true responses: '200': description: description content: application/json: schema: allOf: - $ref: '#/components/schemas/CheckDebitResponse' - type: object properties: error: $ref: '#/components/schemas/Error' '400': description: Error object content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Timeout content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/confirm_debit: post: tags: - From Uzbekistan summary: Confirm Transfer from Uzbekistan description: >- To confirm the transfer, the operation must have the status `APPROVED`. ⚠️ We do not send callbacks for transfers with the `PENDING` status. If you receive this status, request the transfer state using the [/transfer/status](#tag/Common-methods/operation/transferStatus) method every hour until a final status (`SUCCESS` or `FAILED`) is returned. operationId: confirmDebit requestBody: description: JSON object with request parameters content: application/json: schema: $ref: '#/components/schemas/ConfirmDebitRequest' required: true responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/TransferStatusResponse' - type: object properties: error: $ref: '#/components/schemas/Error' '400': description: Error object content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/cancel_debit: post: tags: - From Uzbekistan summary: Cancel Transfer description: >- To cancel the transfer, the operation must have the status SUCCESS. This means that the debit from the client’s account was successfully processed, but for some reason, the crediting to the recipient’s side failed. In this case, the service correctly processed the debit, but the crediting of funds in another system (e.g., in Russia) did not take place, which allows for initiating the cancellation. After a successful cancellation, the operation status will change to REVERSED. operationId: cancelDebit requestBody: description: JSON object with request parameters content: application/json: schema: $ref: '#/components/schemas/CancelDebitRequest' required: true responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/TransferStatusResponse' - type: object properties: error: $ref: '#/components/schemas/Error' '400': description: Error object content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/convert: post: tags: - Common methods summary: Get Currency Conversion Rates operationId: convert requestBody: description: JSON object with request parameters. content: application/json: schema: $ref: '#/components/schemas/ConvertRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ConvertResponse' '400': description: Error object content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/check_credit: post: tags: - To Uzbekistan summary: Check Possibility of Transfer to Uzbekistan description: > Check whether a transfer to Uzbekistan can be performed. ⚠️ If the transfer is made by the recipient's phone number (`identificationType = PHONE`), the `bankLabel` parameter is required. A phone-number transfer cannot be performed without `bankLabel`; no default card is selected for crediting. operationId: checkCredit requestBody: description: JSON object with request parameters. content: application/json: schema: $ref: '#/components/schemas/CheckCreditRequest' required: true responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/CheckCreditResponse' - type: object properties: error: $ref: '#/components/schemas/Error' '400': description: Error object content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/confirm_credit: post: tags: - To Uzbekistan summary: Confirm Transfer to Uzbekistan description: >- To confirm the transfer, the operation must have the status `APPROVED`. ⚠️ We do not send callbacks for transfers with the `PENDING` status. If you receive this status, request the transfer state using the [/transfer/status](#tag/Common-methods/operation/transferStatus) method every hour until a final status (`SUCCESS` or `FAILED`) is returned. operationId: confirmCredit requestBody: description: JSON object with request parameters. content: application/json: schema: $ref: '#/components/schemas/ConfirmCreditRequest' required: true responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/TransferResponse' - type: object properties: error: $ref: '#/components/schemas/Error' '400': description: Error object content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/status: post: tags: - Common methods summary: Get Payment Status description: > The method is used to check the current status of a payment transaction. The partner can call this method if there are any questions about the transfer status or to additionally verify the state of the operation. The response returns: - the current transaction status if the transfer was registered in the service; - error `10212` if the transfer was not received by the service. operationId: transferStatus requestBody: description: JSON object with request parameters. content: application/json: schema: $ref: '#/components/schemas/TransferStatusRequest' required: true responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/TransferStatusResponse' - type: object properties: error: $ref: '#/components/schemas/Error' '400': description: Error object content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/transfer/transfer_list: post: tags: - Common methods summary: Get Transfer List description: >- The method returns a transaction registry for the past 2 months (60 calendar days). operationId: transferList requestBody: description: JSON object with request parameters. content: application/json: schema: $ref: '#/components/schemas/TransferListRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/inline_response_200' '400': description: Error object content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/partner/account/closing_balance: get: tags: - Common methods operationId: getClosingBalance summary: Get Current Closing Balance description: >- A method for retrieving the partner's account current closing balance from the ABS. Some transactions may not be included in the balance due to clearing. parameters: - name: accountNumber description: Partner's account number in: query required: true schema: type: string example: '22618000790000077701' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ClosingBalanceResponse' '400': description: Account not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Service Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Could not receive a response from the ABS content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /cbt/v1/partner/account/operations: get: tags: - Common methods operationId: getAccountOperations summary: Get Account Operations description: >- A method for retrieving detailed information about the partner's account and transactions. Some transactions may be missing due to clearing. The data is updated several times a day. parameters: - name: accountNumber description: Partner's account number in: query required: true schema: type: string example: '22618000790000077701' - name: startDate description: Start date of filtering in UTC. in: query required: true schema: type: string format: date example: '2024-11-20' - name: endDate description: End date of filtering in UTC. in: query required: true schema: type: string format: date example: '2024-11-21' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/AccountOperationsResponse' '400': description: Account not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Service Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Could not receive a response from the ABS content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: Error: type: object properties: errorCode: type: integer example: 0 errorMessage: type: string example: string errorDetails: type: object additionalProperties: true CheckServiceRequest: type: object required: - serviceId - serviceParameters - payerCurrency properties: payerCurrency: type: string description: Partner payment currency enum: - RUB - UZS serviceId: type: integer description: Service identifier for the cross-border payment format: int64 examples: - 812812812 - 4924665 serviceParameters: description: Array of user data for the service type: array example: - type: NUMBER key: customer value: '0662601' items: $ref: '#/components/schemas/ServiceParameters' CheckServiceResponse: type: object required: - serviceId - payerCurrency - paymentAmount - paymentCurrency - serviceParameters properties: serviceId: type: integer description: Service identifier for the cross-border payment format: int64 examples: - 812812812 - 4924665 payerAmount: type: integer format: int64 description: Partner payment amount in minor currency units examples: - 60000 payerCurrency: type: string description: Partner payment currency enum: - RUB - UZS paymentAmount: type: integer format: int64 description: Service payment amount in minor currency units examples: - 1000000 paymentCurrency: type: string description: Service payment currency enum: - UZS exchangeRate: description: >- Conversion rate. Required if conversion is performed on the partner side. type: string examples: - '155.12' serviceParameters: description: Array of user data for the service type: array example: - type: NUMBER key: customer value: '0662601' items: $ref: '#/components/schemas/ServiceParameters' CheckPaymentRequest: required: - externalPaymentId - serviceId - serviceParameters - paymentAmount - paymentCurrency - payerCurrency - payerInfo description: >- The amount is always expected in UZS. If conversion is performed on the partner side, also send the amount in the partner currency and the exchange rate. type: object properties: clientId: type: string description: Client identifier in the partner system externalPaymentId: type: string description: Payment identifier in the partner system examples: - trx_2026_04191234 - 9250a95e-99bf-4975-9adc-9fbd1a78c27f serviceId: type: integer description: Service identifier for the cross-border payment format: int64 examples: - 812812812 - 4924665 payerAmount: type: integer format: int64 description: Partner payment amount in minor currency units examples: - 60000 payerCurrency: type: string description: Partner payment currency enum: - RUB - UZS paymentAmount: type: integer format: int64 description: Service payment amount in minor currency units examples: - 1000000 paymentCurrency: type: string description: Service payment currency enum: - UZS exchangeRate: description: >- Conversion rate. Required if conversion is performed on the partner side. type: string examples: - '164.36' serviceParameters: description: Array of user data for the service type: array example: - type: NUMBER key: customer value: '0662601' items: $ref: '#/components/schemas/ServiceParameters' phone: description: Payer's Uzbekistan phone number without "+" type: string pattern: '[0-9]{12}' payerInfo: type: object $ref: '#/components/schemas/PersonalData' ServiceParameters: required: - key - value type: object example: type: NUMBER key: customer value: '0662601' properties: type: description: Service user data item type type: string examples: - NUMBER - STRING key: description: Service user data item key type: string examples: - customer - customer_type value: description: Service user data item value type: string examples: - '0662601' - '02' PaymentRequest: type: object required: - externalPaymentId properties: externalPaymentId: type: string description: Payment identifier in the partner system examples: - trx_2026_04191234 - 9250a95e-99bf-4975-9adc-9fbd1a78c27f AdminPaymentResponse: type: object required: - paymentId - externalPaymentId - paymentAmount - paymentCurrency - payerAmount - payerCurrency - status - createdDateTime properties: paymentId: description: Payment identifier in Crossborder Transfer type: string format: uuid externalPaymentId: type: string description: Payment identifier in the partner system examples: - trx_2026_04191234 - 9250a95e-99bf-4975-9adc-9fbd1a78c27f payerAmount: type: integer format: int64 description: Partner payment amount in minor currency units examples: - 60000 payerCurrency: type: string description: Partner payment currency enum: - RUB - UZS paymentAmount: type: integer format: int64 description: Service payment amount in minor currency units examples: - 1000000 paymentCurrency: type: string description: Service payment currency enum: - UZS exchangeRate: description: >- Conversion rate. Required if conversion is performed on the partner side. type: string examples: - '155.12' status: type: string description: Payment status in Crossborder Transfer. examples: - REGISTERED enum: - REGISTERED - PENDING - APPROVED - SUCCESS - FAILED createdDateTime: type: string description: Payment creation date and time without timezone suffix examples: - '2026-04-19T09:55:30' completedDateTime: type: string description: Payment completion date and time without timezone suffix examples: - '2026-04-19T10:55:30' error: $ref: '#/components/schemas/ErrorResponse' CheckPaymentResponse: type: object description: Returns all payment fields available when the response is generated. required: - externalPaymentId - serviceId - paymentAmount - paymentCurrency - payerAmount - payerCurrency - serviceParameters - status properties: paymentId: description: Payment identifier in Crossborder Transfer type: string format: uuid externalPaymentId: type: string description: Payment identifier in the partner system examples: - trx_2026_04191234 - 9250a95e-99bf-4975-9adc-9fbd1a78c27f serviceId: type: integer description: Service identifier for the cross-border payment format: int64 examples: - 812812812 - 4924665 payerAmount: type: integer format: int64 description: Partner payment amount in minor currency units examples: - 60000 payerCurrency: type: string description: Partner payment currency enum: - RUB - UZS paymentAmount: type: integer format: int64 description: Service payment amount in minor currency units examples: - 1000000 paymentCurrency: type: string description: Service payment currency enum: - UZS exchangeRate: description: >- Conversion rate. Required if conversion is performed on the partner side. type: string examples: - '155.12' serviceParameters: description: Array of user data for the service type: array example: - type: NUMBER key: customer value: '0662601' items: $ref: '#/components/schemas/ServiceParameters' status: type: string description: Payment status in Crossborder Transfer. examples: - REGISTERED enum: - REGISTERED - APPROVED - FAILED PaymentResponse: type: object description: Returns all payment fields available when the response is generated. required: - externalPaymentId - serviceId - paymentAmount - paymentCurrency - payerAmount - payerCurrency - serviceParameters - status - createdDateTime properties: paymentId: description: Payment identifier in Crossborder Transfer type: string format: uuid externalPaymentId: type: string description: Payment identifier in the partner system examples: - trx_2026_04191234 - 9250a95e-99bf-4975-9adc-9fbd1a78c27f serviceId: type: integer description: Service identifier for the cross-border payment format: int64 examples: - 812812812 - 4924665 payerAmount: type: integer format: int64 description: Partner payment amount in minor currency units examples: - 60000 payerCurrency: type: string description: Partner payment currency enum: - RUB - UZS paymentAmount: type: integer format: int64 description: Service payment amount in minor currency units examples: - 1000000 paymentCurrency: type: string description: Service payment currency enum: - UZS exchangeRate: description: >- Conversion rate. Required if conversion is performed on the partner side. type: string examples: - '155.12' serviceParameters: description: Array of user data for the service type: array example: - type: NUMBER key: customer value: '0662601' items: $ref: '#/components/schemas/ServiceParameters' status: type: string description: Payment status in Crossborder Transfer. examples: - REGISTERED enum: - REGISTERED - PENDING - APPROVED - SUCCESS - FAILED createdDateTime: type: string description: Payment creation date and time without timezone suffix examples: - '2026-04-19T09:55:30.250' completedDateTime: type: string description: Payment completion date and time without timezone suffix examples: - '2026-04-19T10:55:30.250' error: $ref: '#/components/schemas/ErrorResponse' ofdUrl: type: string description: Fiscal receipt link format: uri examples: - >- https://ofd.uz/epi?t=EZ000000000296&r=51&c=20230807182725&s=176112857133 ServiceListRequest: type: object required: - page - limit properties: page: minimum: 1 type: integer format: int32 limit: maximum: 100 minimum: 1 type: integer format: int32 ServiceListResponse: type: object required: - serviceList - paginationResponse properties: serviceList: type: array example: - serviceId: 812812812 name: Kashkadarya Region Tax Service minAmount: 100 maxAmount: 500000000 isFixedAmount: true fields: - key: soato title: District type: 'N' regex: ^[a-zA-Z0-9\-]{4,18}$ values: - code: '22201' name: Altynsay district items: $ref: '#/components/schemas/Service' paginationResponse: $ref: '#/components/schemas/PaginationResponse' Service: required: - serviceId - name - fields type: object properties: serviceId: description: Service identifier type: integer format: int64 examples: - 812812812 - 4924665 name: description: Service name type: string examples: - Kashkadarya Region Tax Service - Coffeego.uz minAmount: description: Minimum payment amount for the service in tiyin type: integer format: int64 examples: - 100 maxAmount: description: Maximum payment amount for the service in tiyin type: integer format: int64 examples: - 500000000 isFixedAmount: description: >- Flag showing that /check_service must be called to receive the payment amount type: boolean default: true nullable: true fields: type: array example: - key: soato title: District type: 'N' regex: ^[a-zA-Z0-9\-]{4,18}$ values: - code: '22201' name: Altynsay district items: $ref: '#/components/schemas/ServiceField' ServiceField: required: - key - type - title type: object properties: key: type: string description: Field key examples: - soato title: type: string description: Field name examples: - District type: type: string description: >- Field type: `S` — string, `N` — number, `E` — selection from the `values` dictionary. enum: - S - 'N' - E regex: type: string nullable: true examples: - ^[a-zA-Z0-9\-]{4,18}$ values: description: Field value dictionary type: array items: $ref: '#/components/schemas/ServiceFieldValue' ServiceFieldValue: type: object description: Field value dictionary item required: - code properties: code: type: string description: Dictionary item value examples: - '22201' - '22202' - '22204' - '22206' name: type: string description: Dictionary item name examples: - Altynsay district - Angor district - Baysun district - Bandikhan district PaymentListResponse: type: object required: - paginationResponse - paymentList properties: paymentList: type: array example: - paymentId: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b externalPaymentId: trx_2026_04191234 serviceId: 812812812 payerAmount: 60000 payerCurrency: RUB paymentAmount: 1000000 paymentCurrency: UZS exchangeRate: '155.12' serviceParameters: - type: NUMBER key: customer value: '0662601' status: REGISTERED createdDateTime: '2026-04-19T09:55:30.250' items: $ref: '#/components/schemas/PaymentResponse' paginationResponse: $ref: '#/components/schemas/PaginationResponse' PaymentListRequest: required: - createTime - limit - page type: object properties: createTime: $ref: '#/components/schemas/FilterTime' status: type: string enum: - SUCCESS - REGISTERED - APPROVED - PENDING - FAILED page: minimum: 1 type: integer format: int32 limit: maximum: 100 minimum: 1 type: integer format: int32 TransferResponse: required: - completedDateTime - createdDateTime - exchangeRate - externalTransferId - receiverPaymentSystem - receiverAmount - senderAmount - senderCurrencyCode - status - transferId - transferType type: object properties: externalTransferId: type: string description: Transfer ID in the partner's system. example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b transferId: type: string description: Payment identifier on the Crossborder Transfer side. format: uuid example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b senderAmount: type: integer description: Sender's payment amount in minimal currency units. example: 40000 senderCurrencyCode: type: string description: Sender's payment currency (ISO 4217 alphabetic code). enum: - UZS - RUB - USD - EUR - TJS receiverAmount: type: integer description: Recipient's payment amount in minimal currency units. example: 13640000 receiverCurrencyCode: type: string description: Recipient's payment currency (ISO 4217 alphabetic code). example: UZS enum: - UZS - RUB - USD - EUR - TJS receiverPaymentSystem: type: string description: Payment system of the recipient's card (Uzbekistan) enum: - HUMO - UZCARD - MASTERCARD - VISA exchangeRate: type: string description: Exchange rate from senderCurrencyCode to receiverCurrencyCode example: '113.5105' transferType: type: string description: Transfer direction example: TO_UZ enum: - FROM_UZ - TO_UZ createdDateTime: type: string description: Date and time the transfer was registered in the bank's system. format: date-time example: '2024-10-19T09:55:30.250' completedDateTime: type: string description: Date and time the transfer was executed. format: date-time example: '2024-10-19T10:55:30.250' status: type: string description: Transfer status. example: SUCCESS enum: - REGISTERED - PENDING - APPROVED - SUCCESS - FAILED - REVERSED TransferCancelResponse: required: - completedDateTime - createdDateTime - exchangeRate - externalTransferId - receiverPaymentSystem - receiverAmount - senderAmount - senderCurrencyCode - status - transferId - transferType type: object properties: externalTransferId: type: string description: Transfer ID in the partner's system. example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b transferId: type: string description: Payment identifier on the Crossborder Transfer side. format: uuid example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b senderAmount: type: integer description: Sender's payment amount in minimal currency units. example: 40000 senderCurrencyCode: type: string description: Sender's payment currency (ISO 4217 alphabetic code). enum: - UZS receiverAmount: type: integer description: Recipient's payment amount in minimal currency units. example: 13640000 receiverCurrencyCode: type: string description: Recipient's payment currency (ISO 4217 alphabetic code). example: RUB enum: - RUB - USD - EUR - TJS receiverPaymentSystem: type: string description: Recipient's payment system enum: - MASTERCARD - VISA exchangeRate: type: string description: Exchange rate from senderCurrencyCode to receiverCurrencyCode example: '113.5105' transferType: type: string description: Transfer direction example: FROM_UZ enum: - FROM_UZ createdDateTime: type: string description: Date and time the transfer was registered in the bank's system. format: date-time example: '2024-10-19T09:55:30.250' completedDateTime: type: string description: Date and time the transfer was executed. format: date-time example: '2024-10-19T10:55:30.250' status: type: string description: Transfer status. example: REVERSED enum: - REVERSED SenderInfo: description: >- An object containing information about the identity of the transfer initiator. required: - personFirstName - personLastName - birthday - birthPlace - residencyCode - document type: object properties: personFirstName: type: string description: Sender’s first name. example: NIKITA personMiddleName: type: string description: Sender’s middle name. example: IVANOVICH personLastName: type: string description: Sender’s first name. example: ABRAMOV birthday: type: string description: Date of birth in the format YYYY-MM-DD (ISO 8601). example: '2000-04-18' birthPlace: type: string description: Place of birth. example: NAMAGAN REGION residencyCode: description: | Residency code according to directory 027 "1" - Resident "2" - Non-resident type: string enum: - '1' - '2' example: '1' document: $ref: '#/components/schemas/IdentityDocument' ReceiverInfo: description: >- An object containing information about the identity of the transfer recipient. required: - personFullName type: object properties: personFullName: description: Recipient's full name (First, Middle, Last). type: string example: O VON CHAN birthday: description: Date of birth in the format YYYY-MM-DD (ISO 8601) type: string example: '1999-12-15' birthPlace: type: string description: Place of birth. example: NAMAGAN REGION IdentityDocument: description: An object containing information about the identity document. type: object required: - identityDocumentCode - identityDocumentSeries - identityDocumentNumber - identityDocumentIssuer - identityDocumentIssueDate - pinfl properties: identityDocumentCode: description: | Identity document code according to directory 008 Residents: «0» – ID card of the Republic of Uzbekistan «1» - Passport of a citizen of the Republic of Uzbekistan «2» – Military ID «5» – Residence permit «6» – Biometric passport of a citizen of the Republic of Uzbekistan «8» – National driver’s license (new format) Non-residents: «4» – Foreign citizen’s passport «9» – Other type: string enum: - '0' - '1' - '2' - '4' - '5' - '6' - '8' - '9' identityDocumentSeries: description: Identity document series type: string example: AA identityDocumentNumber: description: Identity document number type: string example: '7374658' identityDocumentIssuer: description: Name of the organization that issued the identity document type: string example: STATE PERSONALIZATION CENTRE identityDocumentIssueDate: description: Identity document issue date in the format YYYY-MM-DD (ISO 8601) type: string example: '2020-05-13' pinfl: description: PINFL (Personal Identification Number of the Physical Person) minLength: 14 maxLength: 14 example: '30101800050014' ReceiverCardsByPANRequest: type: object properties: cardPan: description: Recipient’s card number type: string example: '9860101111115488' ReceiverCardsByPhoneRequest: type: object properties: phone: description: Phone number linked to the card type: string pattern: ^\d{12}$ example: '998910142976' ReceiverCardsByPhoneResponse: type: array items: $ref: '#/components/schemas/CardResponse' CardResponse: type: object required: - token - cardholderName - paymentSystem - bankLabel - currency - maskedPan properties: token: description: Card token type: string example: vlKeomyUYGh8ktD+1hvI68kuApMKq1s8uyfgvHA= cardholderName: description: First name and the initial of the last name followed by a period. type: string example: IVAN I. paymentSystem: description: Card payment system. type: string enum: - VISA - MASTERCARD - HUMO - UZCARD bankLabel: description: >- A three-character string representing the bank, according to the reference table. type: string example: UZB enum: - NBU - SQB - AGB - XLQ - SDG - QQB - TRN - ASK - IPY - ZRT - TTB - ALQ - IPT - KDB - TRK - SDT - UNB - KPT - RNQ - INF - AAC - HTK - OFB - MDI - AEB - PTT - TNG - TBC - ANR - DVR - YGB - HYB - SMB - AXB - HMK - MKR - UZB currency: description: Card currency code. type: string example: USD maskedPan: description: Masked card number. type: string example: '**9010' ReceiverBanksRequest: type: object required: - phoneNumber properties: phone: description: Recipient's phone number type: string pattern: ^\d{12}$ example: '998910142976' ReceiverBanksResponse: type: object properties: banks: type: array items: enum: - NBU - SQB - AGB - XLQ - SDG - QQB - TRN - ASK - IPY - ZRT - TTB - ALQ - IPT - KDB - TRK - SDT - UNB - KPT - RNQ - INF - AAC - HTK - OFB - MDI - AEB - PTT - TNG - TBC - ANR - DVR - YGB - HYB - SMB - AXB - HMK - MKR - UZB OperationInfo: type: object properties: date: description: Current operation date type: string format: date documentNumber: description: Document number type: string example: '11363893' senderAccount: description: Payer's account number type: string example: '28896850100001190019' senderName: description: Payer's name type: string example: Deposit account for (SUPER-PAY) receiverAccount: description: Recipient's account number type: string example: '28896850100001190019' receiverName: description: Recipient's name type: string example: Transit account for money transfers (SUPER-PAY) Uzcard type: description: Turnover type (Debit Turnover or Credit Turnover) type: string enum: - DEBIT - CREDIT amount: description: >- Turnover in the fractional units of the account's currency. Example, 1 dollar is 100 cents or 100 fractional units. type: number format: integer example: 11223 details: description: Payment purpose type: string example: >- Commissioned amount by Humo Bank for October 24, 2024, according to the distribution order No. ОД2510/10 dated October 25, 2024. AccountOperationsResponse: type: object properties: accountNumber: description: Account number, for which the information is displayed type: string example: '22618000790000077701' accountName: description: Account name type: string example: Deposit account for (SUPER-PAY) closingBalance: description: >- Balance on the partner's account in fractional units of the currency at the end of the time period type: integer example: 8059900 openingBalance: description: >- Balance on the partner's account in fractional units of the currency at the beginning of the time period type: integer example: 8459900 currency: description: Account currency (ISO 4217 code) type: string minLength: 3 maxLength: 3 example: USD operationsInfo: type: array items: $ref: '#/components/schemas/OperationInfo' ClosingBalanceResponse: type: object properties: accountNumber: description: Account number, for which the information is displayed type: string example: '22618000790000077701' accountName: description: Account name type: string example: Deposit account for (SUPER-PAY) closingBalance: description: >- Outgoing balance on the partner's account in fractional units of the account currency type: integer example: 8459900 currency: description: Account currency (ISO 4217 code) type: string minLength: 3 maxLength: 3 example: USD PaginationResponse: type: object properties: totalRecords: type: integer description: Total number of records example: 995 totalPages: type: integer description: Total number of pages with the given limit example: 40 currentPage: type: integer description: Current page example: 1 nextPage: type: integer description: Number of the next page of the response. 0 - page does not exist example: 2 previousPage: type: integer description: Number of the previous page of the response. 0 - page does not exist example: 0 ErrorResponse: required: - errorCode - errorMessage type: object properties: errorCode: type: integer description: Integer error code example: 81 errorMessage: type: string description: Error text example: Internal error errorDetails: type: array description: Error description items: $ref: '#/components/schemas/ErrorDetails' ErrorDetails: required: - message - field type: object properties: field: type: string description: Field name from the request body example: externalTransferId message: type: string description: Error description in the specified field example: Must not be null ConvertRequest: required: - amount - currencyFrom - currencyTo - direction type: object properties: amount: type: integer description: Amount to convert (in minimum currency units) example: 40000 currencyFrom: type: string description: Source currency (ISO 4217) example: RUB currencyTo: type: string description: Target currency (ISO 4217) example: UZS direction: type: string description: Transfer direction example: TO_UZ enum: - TO_UZ - FROM_UZ ConvertResponse: required: - amountFrom - amountTo - currencyFrom - currencyTo - rate type: object properties: amountFrom: type: integer description: Amount before conversion (in minimum currency units) example: 40000 amountTo: type: integer description: Amount after conversion (in minimum currency units) example: 5600000 currencyFrom: type: string description: Currency of the amount for conversion (code according to ISO 4217) example: RUB currencyTo: type: string description: Currency of the converted amount (code according to ISO 4217) example: UZS rate: type: string description: Conversion rate example: '140.0000' CheckCreditRequest: required: - externalTransferId - identificationType - identificationValue - receiverCurrencyCode - sender - senderAmount - senderCountry - senderCurrencyCode type: object properties: clientId: type: string description: Client ID in the partner system example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b externalTransferId: type: string description: Transfer ID in the partner system example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b senderAccount: type: string description: Masked card number of the sender or account number example: 400078******9010 identificationType: type: string description: > Type of recipient identifier. Specifies which identifier is used to determine the recipient: - `PHONE`: recipient's phone number. For this identification type, the `bankLabel` parameter is required. - `CARD`: recipient's bank card number. - `TOKEN`: a string containing the tokenized card number. example: PHONE enum: - PHONE - CARD - TOKEN identificationValue: type: string description: > The value of the recipient identifier. Depends on the selected `identificationType`: - For `PHONE`: 12-digit numeric value. - For `CARD`: 16–19-digit bank card number. - For `TOKEN`: a string containing the tokenized card number. The value can be obtained from the `token` field in the response of the [/card_list](#tag/To-Uzbekistan/operation/getReceiverCardsByPhone) or [/card](#tag/To-Uzbekistan/operation/getReceiverCardsByPAN) methods. example: '998910102030' bankLabel: type: string description: >- Recipient bank label. Required if `identificationType = PHONE`. A phone-number transfer cannot be performed without `bankLabel`; no default card is selected for crediting. If `identificationType = CARD` or `TOKEN`, `bankLabel` is not required because the recipient is identified by a specific card or token. example: PTT enum: - SQB - DVR - ZRT - PTT - AGB - XLQ - SDG - QQB - TRN - ASK - IPY - TTB - ALQ - IPT - KDB - TRK - SDT - UNB - KPT - RNQ - INF - AAC - HTK - OFB - MDI - AEB - TNG - TBC - ANR - YGB - HYB - SMB - AXB - HMK - MKR senderAmount: type: integer description: Amount sent by the sender in minimum currency units example: 40000 senderCurrencyCode: type: string description: Sender's currency (ISO 4217 alphabetic code) example: RUB enum: - UZS - RUB - USD - EUR - TJS receiverAmount: type: integer description: Amount received by the recipient in minimum currency units example: 13640000 receiverCurrencyCode: type: string description: Recipient's currency (ISO 4217 alphabetic code) example: UZS enum: - UZS - RUB - USD - EUR - TJS exchangeRate: type: string description: Conversion rate from senderCurrencyCode to receiverCurrencyCode. example: '140.0000' senderCountry: maxLength: 2 minLength: 2 type: string description: >- Country of the sender (two-letter country code according to ISO 3166-1 Alpha-2) example: RU sender: description: Sender information. Required when making a transfer to Uzbekistan. allOf: - $ref: '#/components/schemas/PersonalData' receiver: description: Recepient's ersonal data allOf: - $ref: '#/components/schemas/PersonalData' PersonalData: required: - personFullName type: object properties: personFullName: type: string description: User's name (full name). example: ABRAMOV NIKITA YUREVICH birthday: type: string description: Date of birth in the format YYYY-MM-DD example: '2000-04-18' birthPlace: type: string description: Place of birth example: Moscow nationality: type: string description: Citizenship code according to ISO 3166-1 example: '860' address: type: string description: Address of residence example: Moscow, Tayninskaya 15 passport: type: string description: Passport details. Series and number example: '4109355455' CheckCreditResponse: required: - externalTransferId - status - transferId type: object properties: externalTransferId: type: string description: Payment identificator on the partner's side example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b transferId: type: string description: Payment identificator on the Uzum Crossborder Transfer side format: uuid example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b senderAmount: type: integer description: Amount sent by the payment sender in minimum currency units example: 40000 senderCurrencyCode: type: string description: Currency of the payment sender (ISO 4217 alphabetic code) example: RUB enum: - UZS - RUB - USD - EUR - TJS receiverPaymentSystem: type: string description: Payment system of the recipient's card enum: - HUMO - UZCARD - MASTERCARD - VISA receiverAmount: type: integer description: Amount received by the recipient in minimum currency units example: 13640000 receiverCurrencyCode: type: string description: Currency of the payment recipient (ISO 4217 alphabetic code) example: UZS enum: - UZS - RUB - USD - EUR - TJS receiverCardholderName: type: string description: Cardholder's name example: Ivanov Ivan receiverCardNumber: type: string description: Masked card number of the recipient example: 986010******5488 exchangeRate: type: string description: Conversion rate from senderCurrencyCode to receiverCurrencyCode example: '140.0000' status: type: string description: Transfer status in Crossborder Transfer example: REGISTERED enum: - REGISTERED - PENDING - APPROVED - SUCCESS - FAILED - REVERSED ConfirmCreditRequest: required: - externalTransferId type: object properties: externalTransferId: type: string description: Payment identificator on the partner's side. example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b transferId: type: string description: Payment identificator on the Uzum Crossborder Transfer side format: uuid example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b TransferStatusRequest: required: - externalTransferId type: object properties: externalTransferId: type: string description: Transfer ID in the partner's system example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b TransferStatusResponse: required: - completedDateTime - createdDateTime - exchangeRate - externalTransferId - receiverPaymentSystem - receiverAmount - senderAmount - senderCurrencyCode - status - transferId - transferType type: object properties: rrn: description: Reference Retrieval Number type: string example: '524818898472' externalTransferId: type: string description: Transfer ID in the partner's system example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b transferId: type: string description: Transfer ID in the Uzum Crossborder Transfer system format: uuid example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b senderAmount: type: integer description: Amount sent by the payment sender in minimum currency units example: 40000 senderCurrencyCode: type: string description: Currency of the payment sender (ISO 4217 alphabetic code) enum: - UZS - RUB - USD - EUR - TJS receiverAmount: type: integer description: Amount received by the recipient in minimum currency units example: 13640000 receiverCurrencyCode: type: string description: Currency of the payment recipient (ISO 4217 alphabetic code) example: UZS enum: - UZS - RUB - USD - EUR - TJS receiverPaymentSystem: type: string description: Payment system in Uzbekistan enum: - HUMO - UZCARD - MASTERCARD - VISA exchangeRate: type: string description: Conversion rate from senderCurrencyCode to receiverCurrencyCode example: '113.5105' transferType: type: string description: Transfer direction example: TO_UZ enum: - FROM_UZ - TO_UZ createdDateTime: type: string description: Date and time of the transfer registration in the bank's system format: date-time example: '2024-10-19T09:55:30.250' completedDateTime: type: string description: Date and time of the transfer execution format: date-time example: '2024-10-19T10:55:30.250' status: type: string description: Transfer status example: SUCCESS enum: - REGISTERED - PENDING - APPROVED - SUCCESS - FAILED - REVERSED cardToken: type: string description: Card token example: vlKeomyUYGh8ktD+1hvI68kuApMKq1s8uyfgvHA= TransferListRequest: required: - createTime - limit - page type: object properties: createTime: description: Object with creation time filters allOf: - $ref: '#/components/schemas/FilterTime' status: type: string description: >- Operation status. If operations are to be retrieved in all statuses, this field is not specified in the request body example: APPROVED enum: - REGISTERED - PENDING - APPROVED - SUCCESS - FAILED - REVERSED transferType: type: string description: Transfer direction example: TO_UZ enum: - FROM_UZ - TO_UZ page: type: integer description: Requested response page number example: 1 default: 1 limit: type: integer description: Number of response records per page. Maximum - 100 example: 25 default: 25 FilterTime: required: - from - to type: object properties: from: type: string description: Start date and time for filtering in UTC example: '2024-10-19T09:55:30.250' to: type: string description: End date and time for filtering in UTC example: '2024-10-22T09:55:30.250' TransferListResponse: type: array items: $ref: '#/components/schemas/TransferResponse' CheckDebitRequest: required: - externalTransferId - receiver - receiverAccount - receiverCountry - receiverCurrencyCode - sender - senderAmount - senderCurrencyCode - phone type: object properties: clientId: type: string description: Client ID in the partner's system. example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b externalTransferId: type: string description: Transfer ID in the partner’s system. example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b receiverAccount: type: string description: Masked recipient’s card number or account number. example: 553609******2598 senderCardToken: type: string description: >- Card token. Not sent if senderCardPan and senderCardExpireDate are provided. nullable: true example: vlKeomyUYGh8ktD+1hvI68kuApMKq1s8uyfgvHA= senderCardPan: type: string description: Card PAN. Not sent if senderCardToken is provided. nullable: true example: '5536123443212699' senderCardExpireDate: type: string description: >- Card expiration date in the format YYMM. Not sent if senderCardToken is provided. nullable: true example: '2811' senderAmount: type: integer description: Sender’s payment amount in the minimal currency units. example: 13640000 senderCurrencyCode: type: string description: Sender’s payment currency (ISO 4217 alphabetic code) example: UZS enum: - UZS - RUB - USD - EUR - TJS receiverAmount: type: integer description: Recipient’s payment amount in the smallest currency units. example: 40000 receiverCurrencyCode: type: string description: Recipient’s payment currency (ISO 4217 alphabetic code). example: RUB enum: - UZS - RUB - USD - EUR - TJS exchangeRate: type: string description: Conversion rate from senderCurrencyCode to receiverCurrencyCode. example: '0.00000756' sender: $ref: '#/components/schemas/SenderInfo' receiver: $ref: '#/components/schemas/ReceiverInfo' receiverCountry: maxLength: 2 minLength: 2 type: string description: >- Recipient’s country (two-letter country code according to ISO 3166-1 Alpha-2). example: RU phone: description: Sender’s phone number linked to the specified card. type: string pattern: \d{12} smsHash: description: SMS Hash type: string example: 2asio1 CardToken: required: - cardToken type: object properties: cardToken: type: string description: Card token example: vlKeomyUYGh8ktD+1hvI68kuApMKq1s8uyfgvHA= CheckDebitResponse: required: - externalTransferId - status - transferId type: object properties: externalTransferId: type: string description: Transfer ID on the partner's side example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b transferId: type: string description: Transfer ID on the Crossborder Transfer side format: uuid example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b senderAmount: type: integer description: Sender's payment amount in minimal units example: 13640000 senderCurrencyCode: type: string description: Sender's payment currency (ISO 4217 alphabetical code) example: UZS enum: - UZS - RUB - USD - EUR - TJS receiverAmount: type: integer description: Recipient's payment amount in minimal units example: 40000 receiverCurrencyCode: type: string description: Recipient's currency (ISO 4217 alphabetical code) example: RUB enum: - UZS - RUB - USD - EUR - TJS exchangeRate: type: string description: Conversion rate from senderCurrencyCode to receiverCurrencyCode example: '0.00000756' status: type: string description: Transfer status example: APPROVED enum: - REGISTERED - PENDING - APPROVED - SUCCESS - FAILED - REVERSED ConfirmDebitRequest: required: - code - externalTransferId type: object properties: externalTransferId: type: string description: Transfer ID in the partner's system example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b code: pattern: '[0-9a-zA-Z]{4,6}' type: string description: OTP code example: '77777' CancelDebitRequest: required: - externalTransferId type: object properties: externalTransferId: type: string description: Transfer ID in the partner's system example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b reason: type: string description: Cancelation reason example: Debiting error ResendOTPRequest: required: - externalTransferId type: object properties: externalTransferId: type: string description: Transfer ID in the partner's system example: a7dc3714-eb07-4ef9-bf97-a1f2b1af219b smsHash: description: SMS Hash type: string example: 2asio1 inline_response_200: type: object properties: paginationResponse: $ref: '#/components/schemas/PaginationResponse' transferList: $ref: '#/components/schemas/TransferListResponse' securitySchemes: basicAuth: type: http scheme: basic