Download OpenAPI specification:
Upmobile is a service for topping up mobile accounts using cryptocurrency. The API provides access to account management, balances and withdrawals.
Retrieves a paginated list of all accounts belonging to the authenticated user. Returns account details including balances, status, and metadata. The owner_id field is included only for users with appropriate permissions.
{- "data": {
- "accounts": [
- {
- "balance": "100.00",
- "created_at": "2022-02-24T00:00:00Z",
- "currency_code": "USD",
- "held_balance": "15.95",
- "id": "123e4567-e89b-12d3-a456-426655440000",
- "name": "My Personal Account",
- "owner_id": "123e4567-e89b-12d3-a456-426655440000",
- "status": "active",
- "type": "personal"
}
], - "pages": 0
}, - "status": "success",
- "status_code": 200
}Retrieves a specific operation by its ID, including sender/receiver accounts, amount, currency, status, type, category, labels, destination, timestamp, and optional breakdown details
| id required | string Operation ID |
{- "data": {
- "amount": "7898.12",
- "breakdown": [
- {
- "amount": "100.00",
- "currency_code": "USD",
- "kind": "exchange"
}
], - "category_code": "mobile",
- "created_at": "2022-02-24T00:00:00Z",
- "currency_code": "RUB",
- "destination": "+79999999999",
- "from_account": {
- "balance": "100.00",
- "created_at": "2022-02-24T00:00:00Z",
- "currency_code": "USD",
- "held_balance": "15.95",
- "id": "123e4567-e89b-12d3-a456-426655440000",
- "name": "My Personal Account",
- "owner_id": "123e4567-e89b-12d3-a456-426655440000",
- "status": "active",
- "type": "personal"
}, - "from_account_id": "123e4567-e89b-12d3-a456-426655440000",
- "id": "123e4567-e89b-12d3-a456-426655440000",
- "operator_code": "beeline",
- "receiver_label": "",
- "sender_label": "John Doe",
- "status": "pending",
- "to_account": {
- "balance": "100.00",
- "created_at": "2022-02-24T00:00:00Z",
- "currency_code": "USD",
- "held_balance": "15.95",
- "id": "123e4567-e89b-12d3-a456-426655440000",
- "name": "My Personal Account",
- "owner_id": "123e4567-e89b-12d3-a456-426655440000",
- "status": "active",
- "type": "personal"
}, - "to_account_id": "123e4567-e89b-12d3-a456-426655440000",
- "type": "withdrawal"
}, - "status": "success",
- "status_code": 200
}Inits a new withdrawal request. Returns an operation object that contains all details of the withdrawal (amount, commission, etc.). This object can later be used to track the withdrawal status via polling.
Withdrawal request payload
| account_id required | string <uuid> AccountID is the unique identifier of the account from which funds will be withdrawn. |
| amount required | string <decimal> Amount specifies the withdrawal amount in decimal format. |
| category_code required | string Enum: "mobile" "crypto" "game" CategoryCode defines the withdrawal category (e.g., mobile, crypto, game, etc.). |
| currency_code required | string Enum: "RUB" "USD" CurrencyCode indicates the currency of the withdrawal (RUB or USD). |
| destination required | string Destination is the withdrawal destination (phone number, steam login, etc.). |
| operator_code required | string OperatorCode identifies the operator (e.g., beeline, megafon, etc.). |
| region_code required | string Value: "RU" RegionCode specifies the region where the withdrawal is being processed (currently only "RU"). |
{- "account_id": "1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p",
- "amount": "100.00",
- "category_code": "mobile",
- "currency_code": "RUB",
- "destination": "+79999999999",
- "operator_code": "beeline",
- "region_code": "RU"
}{- "data": {
- "amount": "7898.12",
- "breakdown": [
- {
- "amount": "100.00",
- "currency_code": "USD",
- "kind": "exchange"
}
], - "category_code": "mobile",
- "created_at": "2022-02-24T00:00:00Z",
- "currency_code": "RUB",
- "destination": "+79999999999",
- "from_account": {
- "balance": "100.00",
- "created_at": "2022-02-24T00:00:00Z",
- "currency_code": "USD",
- "held_balance": "15.95",
- "id": "123e4567-e89b-12d3-a456-426655440000",
- "name": "My Personal Account",
- "owner_id": "123e4567-e89b-12d3-a456-426655440000",
- "status": "active",
- "type": "personal"
}, - "from_account_id": "123e4567-e89b-12d3-a456-426655440000",
- "id": "123e4567-e89b-12d3-a456-426655440000",
- "operator_code": "beeline",
- "receiver_label": "",
- "sender_label": "John Doe",
- "status": "pending",
- "to_account": {
- "balance": "100.00",
- "created_at": "2022-02-24T00:00:00Z",
- "currency_code": "USD",
- "held_balance": "15.95",
- "id": "123e4567-e89b-12d3-a456-426655440000",
- "name": "My Personal Account",
- "owner_id": "123e4567-e89b-12d3-a456-426655440000",
- "status": "active",
- "type": "personal"
}, - "to_account_id": "123e4567-e89b-12d3-a456-426655440000",
- "type": "withdrawal"
}, - "status": "success",
- "status_code": 200
}Calculate withdrawal preview, including the final amount, commission, and other details. Serves as a confirmation before executing the withdrawal.
Calculate withdrawal preview request payload
| amount required | string <decimal> Amount is the monetary value involved in the transaction. |
| category_code required | string Enum: "mobile" "crypto" "game" CategoryCode represents the category of the transaction such as mobile, crypto, or game. |
| currency_code required | string Enum: "RUB" "USD" CurrencyCode indicates the currency used for the transaction (e.g., RUB or USD). |
| operator_code required | string OperatorCode identifies the operator involved in the transaction. |
| region_code required | string Value: "RU" RegionCode specifies the geographic region related to the transaction, (e.g., RU). |
{- "amount": "100.00",
- "category_code": "mobile",
- "currency_code": "RUB",
- "operator_code": "beeline",
- "region_code": "RU"
}{- "data": {
- "amount": "100.00",
- "commission": "10.00",
- "currency": {
- "code": "USD",
- "decimals": 2,
- "names": {
- "en": "United States Dollar",
- "ru": "Доллар США"
}, - "symbol": "$"
}, - "operator": {
- "category_code": "mobile",
- "code": "beeline",
- "names": {
- "en": "Beeline",
- "ru": "Билайн"
}
}
}, - "status": "success",
- "status_code": 200
}