XProxy Official
  1. Selling Platform
XProxy Official
  • API document for XProxy service
  • Proxy Management
    • Get the list of devices & proxies information
      GET
    • Get status of a specific proxy
      GET
    • Get status of a specific position
      GET
    • Reboot dongle with specific proxy
      GET
    • Reboot dongle with specific position
      GET
  • Device Management
    • Change IMEI for multiple dongles
      POST
    • Add or change device note
      POST
    • Change MAC address for dongles
      POST
    • Change APN for dongles
      POST
    • Change device label
      POST
    • Connect dongle to network
      POST
    • Enable/disable WiFi for multiple dongles
      POST
    • Disconnect dongle from network
      POST
    • Reboot a specific dongle
      POST
    • Reset bus dongle
      POST
    • Get dongle information including phone number
      POST
    • Set MTU value for a dongle
      POST
  • Rotation (Change IP)
    • Manual rotation :: Rotate IP for a specific proxy or SOCKS port
      GET
    • Manual rotation :: Rotate IP for a specific position of modem in list
      GET
    • Auto rotation :: Add a rotation schedule job
      POST
    • Auto rotation :: Retrieve scheduled rotation jobs
      POST
  • Selling Platform
    • Get list of selling proxies
      GET
    • Generate selling proxies
      POST
    • Editing for single selling proxy port
      POST
    • Delete selling proxy by ID
      POST
  • SMS & USSD Utitlies
    • SMS
      • Read SMS messages
      • Send SMS message
      • Delete SMS messages
    • USSD
      • Send USSD command
      • Read USSD response
  • System Management
    • Restart XProxy Panel
    • Reboot XProxy System
  1. Selling Platform

Editing for single selling proxy port

POST
{{BASE_URL}}/selling/bulk_edit

Single Selling Proxy Editing API#

Description#

This API allows developers to edit various properties of a selected proxy by ID. The request accepts a JSON payload, where the specific fields represent configurable properties of the proxy instance. Only the fields included in the request payload will be modified.

Usage#

The API will modify only the properties provided in the request payload. Any fields not included in the request will remain unchanged.

Notes#

Every selling proxy belongs to one of two profiles: Single Destination or Proxy Group.
Single Destination can be identified by gen_method=1 when creating or listing selling proxies.
Proxy Group can be identified by gen_method=2 when creating or listing selling proxies.

Modifying Proxy Properties:#

Single Destination:
When modifying the modem position (moving to a new position), you can define a single position number in the selected_positions array.
Example: Make proxy on sinle position selected_positions = [3].
Proxy Group:
When modifying modem positions (adding/removing positions in a group), you can define one or more position numbers in the selected_positions array.
Example: Make a proxy group on positions selected_positions = [1, 3, 5].

Example Requests#

1. Update Specific proxy Properties#

To update only the expiredDate and memo for a proxy with ID 203, include only those properties in the request payload:
{
  "ids": [203],
  "expiredDate": 1744344853000,
  "memo": "My memo"
}

2. Update position of Single Destination proxy by moving to new position#

{
  "ids": [203],
  "selected_positions": [5]
}

2. Update positions of a proxy group#

{
  "ids": [205],
  "selected_positions": [1,3,6,7]
}

Request

Body Params application/json

Example
{
    "ids": [
        203
    ],
    "selected_positions": [
        1
    ],
    "ipAuthenticationEntry": "125.12.30.67,125.12.30.68",
    "isAutoGenAuthentication": false,
    "userAuthenticationEntry": "FXB8BBR5:FXB8BBR5",
    "sharedEnabled": true,
    "ipType": 1,
    "portType": 0,
    "expiredDate": 1744344853000,
    "whitelistLimitAccessEntry": "facebook.com,.facebook.com*",
    "blacklistLimitAccessEntry": "google.com,.google.com",
    "counterUploadLimit": 0,
    "counterUploadLimitBy": 1,
    "counterUploadQuotaInMB": 100,
    "counterDownloadLimit": 0,
    "counterDownloadLimitBy": 1,
    "counterDownloadQuotaInMB": 100,
    "counterAllLimit": 1,
    "counterAllLimitBy": 3,
    "counterAllQuotaInMB": 6000,
    "bwLimitEnabled": 1,
    "bwLimitRate": 60,
    "tcpOS": "win1",
    "customDNS": "1.1.1.1 8.8.8.8",
    "allowApiChangeRotation": true,
    "minIntervalRotation": 120,
    "intervalRotation": 0,
    "allowApiRotate": true,
    "minSecondRotate": 60,
    "maxConnection": 200,
    "maxConnectionPeriod": 60,
    "forceServerResolveDns": false,
    "memo": ""
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location -g --request POST 'http://localhost/selling/bulk_edit' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ids": [
        203
    ],
    "selected_positions": [
        1
    ],
    "ipAuthenticationEntry": "125.12.30.67,125.12.30.68",
    "isAutoGenAuthentication": false,
    "userAuthenticationEntry": "FXB8BBR5:FXB8BBR5",
    "sharedEnabled": true,
    "ipType": 1,
    "portType": 0,
    "expiredDate": 1744344853000,
    "whitelistLimitAccessEntry": "facebook.com,.facebook.com*",
    "blacklistLimitAccessEntry": "google.com,.google.com",
    "counterUploadLimit": 0,
    "counterUploadLimitBy": 1,
    "counterUploadQuotaInMB": 100,
    "counterDownloadLimit": 0,
    "counterDownloadLimitBy": 1,
    "counterDownloadQuotaInMB": 100,
    "counterAllLimit": 1,
    "counterAllLimitBy": 3,
    "counterAllQuotaInMB": 6000,
    "bwLimitEnabled": 1,
    "bwLimitRate": 60,
    "tcpOS": "win1",
    "customDNS": "1.1.1.1 8.8.8.8",
    "allowApiChangeRotation": true,
    "minIntervalRotation": 120,
    "intervalRotation": 0,
    "allowApiRotate": true,
    "minSecondRotate": 60,
    "maxConnection": 200,
    "maxConnectionPeriod": 60,
    "forceServerResolveDns": false,
    "memo": ""
}'

Responses

🟢200OK
application/json
Successful operation
Body

Example
{
    "status": true,
    "data": [
        {
            "id": 0,
            "shared_port": 0,
            "gen_method": 1,
            "position": 0,
            "group_positions": [
                0
            ],
            "ip_type": "1",
            "port_type": "0",
            "auth_ip_list": "string",
            "auth_user_list": "string",
            "web_whitelist": "string",
            "web_blacklist": "string",
            "expired_at_unix": 0,
            "enabled": true,
            "memo": "string",
            "custom_dns": "string",
            "bw_limit_enabled": true,
            "bw_limit_rate": 0,
            "counter_dl_limit": "unlimited",
            "counter_dl_limit_by": "DAILY",
            "counter_dl_quota": 0,
            "counter_ul_limit": "unlimited",
            "counter_ul_limit_by": "DAILY",
            "counter_ul_quota": 0,
            "counter_all_limit": "unlimited",
            "counter_all_limit_by": "DAILY",
            "counter_all_quota": 0,
            "max_connection": 0,
            "max_connection_period": 60,
            "tcp_os": "string",
            "force_server_resolve_dns": true,
            "interval_rotation": 0,
            "min_interval_rotation": 0,
            "allow_api_rotate": true,
            "min_second_rotate": 0,
            "allow_api_change_rotation": true,
            "last_rotation": 0
        }
    ]
}
🟠400Bad Request
🔴500Server Error
Modified at 2025-03-14 04:25:09
Previous
Generate selling proxies
Next
Delete selling proxy by ID
Built with