Upmobile (1.0)

Download OpenAPI specification:

Upmobile is a service for topping up mobile accounts using cryptocurrency. The API provides access to account management, balances and withdrawals.

Accounts

GetAccounts

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.

Authorizations:
Token

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status": "success",
  • "status_code": 200
}

Operations

GetOperation

Retrieves a specific operation by its ID, including sender/receiver accounts, amount, currency, status, type, category, labels, destination, timestamp, and optional breakdown details

Authorizations:
Token
path Parameters
id
required
string

Operation ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status": "success",
  • "status_code": 200
}

Withdrawals

InitWithdrawal

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.

Authorizations:
Token
Request Body schema: application/json
required

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").

Responses

Request samples

Content type
application/json
{
  • "account_id": "1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p",
  • "amount": "100.00",
  • "category_code": "mobile",
  • "currency_code": "RUB",
  • "destination": "+79999999999",
  • "operator_code": "beeline",
  • "region_code": "RU"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status": "success",
  • "status_code": 200
}

CalculateWithdrawalPreview

Calculate withdrawal preview, including the final amount, commission, and other details. Serves as a confirmation before executing the withdrawal.

Authorizations:
Token
Request Body schema: application/json
required

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).

Responses

Request samples

Content type
application/json
{
  • "amount": "100.00",
  • "category_code": "mobile",
  • "currency_code": "RUB",
  • "operator_code": "beeline",
  • "region_code": "RU"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status": "success",
  • "status_code": 200
}