All requests require authentication using an API key passed in the HTTP headers.
Use the jwt_token
obtained from the Login API.
All request and response payloads are in JSON format.
Header Name | Type | Value/Description |
---|---|---|
jwt_token | string | jwt_token obtained at login API |
Content-Type | string | application/json |
param | type | remark |
---|---|---|
code | number | Result code |
msg | string | Status message |
data | object | Response data payload |
API
/api/account/login
POST
Success Response
{
"code": 0,
"msg": "success",
"data": {
"uid": 10086,
"jwt_token": "ey06eXAi01JKV10i1C1hb6c101JIUzI1N19.ey9pG3M101JodHRw01BvYxBplnJIZ6hhdGlwLmWvb581LC1hdNQ101JodHRwczovL31JZ6hhdGlwLmWvb581LC1pYXQ10jE3MzK30TEx0DIsImV4CC16MTcz0TC50MMMiuXZGF8YS16eyJ1aMQ10jEMWBg2LC1hY2WvdW501joIZmFu23FqQ6tvb21ZXkuY29tIn19.3-bTMmzqjFg0t_sHzlftRwRxMrlv-zb96NFro0qxaHU",
"expire_at": 1739798382
}
}
Request Parameters
Parameter Name | Type | Required | Example | Remark |
---|---|---|---|---|
account | string | Yes | aaaa1111@gmail.com | Login account |
password | string | Yes | 123456 | Login password, must be MD5 hashed for backend |
remember_me | int | No | 0 | 7-day auto-login: 1=Yes, 0=No |
auth_key | string | No | hdskhasda | Key for quick login from activation email |
Response Data
Name | Type | Description | Example |
---|---|---|---|
uid | int | User ID | 10086 |
jwt_token | string | Login success token | ey.0eXAiOiJKV1QiLCJhbGciOiJIUz1fNiJ9.eyJpc3MiOi... |
expire_at | int | Expiration time | 1739798382 |
API
/api/user/info
GET
Success Response
{
"code": 0,
"msg": "success",
"data": {
"uid": 123456,
"account": "raymond083",
"email": "aaa111@gmail.com",
"token": "aaabbbccc", // api_token
"balance": 92499, // Unit: US Cents
"traffic_left": 8080, // Unit: MB
"trial_status": 1, // Trial eligibility: 1: Eligible; 0: Not eligible
"commission_rate": 0.03 // Cryptocurrency fee rate
}
}
Response Data
Name | Type | Description | Example |
---|---|---|---|
uid | int | User ID | 123456 |
account | string | Username | ray1234 |
string | User email | aaa111@gmail.com | |
token | string | User token | aaabbbccc |
balance | int | Balance, Unit: US Cents | 92499 |
traffic_left | int | Traffic remaining, Unit: MB (divide by 1000 for GB) | 8080 |
trial_status | string | Trial eligibility: 1: Eligible; 0: Not eligible | 1 |
commission_rate | string | Cryptocurrency fee rate | 0.03 |
API
/api/traffic/usage
GET
Success Response
{
"code": 0,
"msg": "success",
"data": {
"x": [
"2025-04-21",
"2025-04-22",
"2025-04-23",
"2025-04-24",
"2025-04-25",
"2025-04-26",
"2025-04-27",
"2025-04-28"
],
"y": [
15.05, // Unit: Mb
0,
95.78,
14.42,
0,
0,
0,
0
]
}
}
Request Parameters
Parameter Name | Type | Required | Example | Description |
---|---|---|---|---|
sdate | string | Yes | 2025-04-21 | Start date |
edate | string | Yes | 2025-04-28 | End date |
Response Data
Name | Type | Example | Description |
---|---|---|---|
x | array | ["2025-04-01"] | X-axis scale - Time |
y | array | [15.05] | Y-axis scale - Usage (Unit: Mb) |
API
/api/traffic/changelog
GET
Success Response
{
"code": 0,
"msg": "success",
"data": {
"list": [
{
"type": "Allocation", // Value range: ['Used', 'Add', 'Allocation', 'Recycle']
"amount": 80000,
"after": 142230,
"remark": "FromUidHaiadqa5iaw",
"date_time": "2025-07-24 04:01:09"
},
{
"type": "Allocation",
"amount": 20000,
"after": 62230,
"remark": "FromUidHaiadqa5iaw",
"date_time": "2025-07-24 04:01:09"
}
],
"total": 56
}
}
Request Parameters
Parameter Name | Type | Required | Example | Description |
---|---|---|---|---|
sdate | string | Yes | 2025-04-01 | Start date for query |
edate | string | Yes | 2025-04-02 | End date for query |
type | string | No | used | Record type: Empty value queries all. Value range: ['used', 'add', 'allocation', 'recycle'] |
page | int | No | 1 | Pagination parameter (Page number) |
size | int | No | 20 | Pagination parameter (Page size) |
export | int | No | 0 | Whether to export data (1=Export) |
Response Data
Name | Type | Example | Description |
---|---|---|---|
list | object[] | List of changes | |
type | string | Allocation | Change type |
amount | int | 142230 | Change amount |
after | int | 62230 | Remaining after change |
remark | string | FromUidHaiadqa5iaw | Change remark |
date_time | string | 2025-07-24 04:01:09 | Change date and time |
total | int | 56 | Total list count |
API
/api/traffic/details
GET
Success Response
{
"code": 0,
"msg": "success",
"data": {
"total": 1,
"list": [
{
"time": "2025-04-21",
"uid": 8561510800,
"geo": "US",
"region": "",
"count": "15.05 MB",
"username": "aaa111@gmail.com"
}
]
}
}
Request Parameters
Parameter Name | Type | Required | Example | Description |
---|---|---|---|---|
sdate | string | Yes | 2023-01-01 | Start time |
edate | string | Yes | 2023-01-01 | End time |
page | int | No | 1 | Pagination parameter (Page number) |
psize | int | No | 10 | Pagination parameter (Page size) |
gb | string | No | d | Time aggregation type: d=day, h=hour |
gbg | int | No | 1 | Show detailed region: 1=show country; 2=show secondary region (state/province) |
subid | int | No | -1 | Account ID: Sub-account; -1: All; 0:Whitelisted IPs; |
export | int | No | 0 | Whether to export (1=Export) |
Response Data
Name | Type | Example | Description |
---|---|---|---|
total | int | 10 | Total count of data list |
list | object[] | List of details | |
time | string | 2025-04-01 | Time |
uid | number | 123456 | User ID |
geo | string | US | Country/Region code |
region | string | Region name (if detailed) | |
count | string | 15.05 MB | Usage amount |
username | string | aaa111@gmail.com | Username |
API
/api/order/pricemenu
GET
Success Response
{
"code": 0,
"msg": "Success",
"data": [
{
"id": 101,
"title": "1GB",
"traffic_gb": 1,
"per_gb_price": 320,
"price": 320,
"recommend_tips": "",
"default_checked": 0,
"is_top": 1 // Whether pinned: 1=Yes; 0=No
}
]
}
Response Data
Name | Type | Example | Description |
---|---|---|---|
id | int | 101 | Package ID |
title | string | 1GB | Package name |
traffic_gb | int | 1 | Traffic amount (GB) |
per_gb_price | int | 320 | Price per GB |
price | int | 320 | Total price |
recommend_tips | string | Save 37% | Discount tips |
default_checked | int | 0 | Wether selected by default |
is_top | int | 1 | Whether pinned |
API
/api/order/packages
GET
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
old* | string | No | 1235666 | Order ID (Assuming 'old' is a typo for 'oid' or 'order_id') |
pay_type | string | No | balance | Payment method. Value range: ["alipay", "balance", "cryptomus", "hexaone", "ainvallex/card", "ainvallex/alipay-hk", "ainvallex/goodje-pay", "dukpay/sheer-pay", "dukpay/bank-card", "dukpay/yoomoney", "dukpay/tinkoff-pay", "dukpay/sbp"] |
sdate | string | Yes | 2025-01-01 | Order start time |
edate | string | Yes | 2025-02-01 | Order end time |
page | int | No | 1 | Pagination parameter (Page number) |
size | int | No | 10 | Pagination parameter (Page size) |
Note: old
likely intended to be order_id
or oid
.
Response Data
Name | Type | Example | Description |
---|---|---|---|
total | int | 22 | Total list count |
list | object[] | List of changes | |
id | int | 302392746 | Order ID |
price | int | 2500 | Payment amount, Unit: US Cents |
pay_type | string | balance | Payment method |
add_time | int | 1739870415 | Order creation time (timestamp) |
quantity | int | 1 | Traffic amount, Unit: GB |
API
/api/dynamic/gateways
GET
Success Response
{
"code": 0,
"msg": "success",
"data": [
{
"host": "geo.redhatip.com",
"port": 32345
}
]
}
Response Data
Name | Type | Example | Description |
---|---|---|---|
host | string | geo.ipcook.com | Gateway domain |
port | int | 32345 | Gateway port |
API
/api/dynamic/stock
GET
Success Response
{
"code": 0,
"msg": "success",
"data": {
"uid": 10086,
"jwt_token": "ey06eXAi01JKV10i1C1hb6c101JIUzI1N19.ey9pG3M101JodHRw01BvYxBplnJIZ6hhdGlwLmWvb581LC1hdNQ101JodHRwczovL31JZ6hhdGlwLmWvb581LC1pYXQ10jE3MzK30TEx0DIsImV4CC16MTcz0TC50MMMiuXZGF8YS16eyJ1aMQ10jEMWBg2LC1hY2WvdW501joIZmFu23FqQ6tvb21ZXkuY29tIn19.3-bTMmzqjFg0t_sHzlftRwRxMrlv-zb96NFro0qxaHU",
"expire_at": 1739798382
}
}
Request Parameters
Parameter Name | Type | Required | Example | Description |
---|---|---|---|---|
c | int | Yes | 1 | Whether to return child list |
Response Data
Name | Type | Example | Description |
---|---|---|---|
id | int | 1 | Country ID |
name | string | US | Country code |
stock | boolean | true | Whether in stock |
child | object[] | Child list (regions/states) |
API
/api/dynamic/citys
GET
Success Response
{
"code": 0,
"msg": "success",
"data": [
{
"id": 80804,
"name": "Dallas",
"enname": "Dallas"
},
{
"id": 80805,
"name": "Houston",
"enname": "Houston"
}
]
}
Request Parameters
Parameter Name | Type | Required | Description |
---|---|---|---|
g | int | Yes | geo_id |
Response Data
Name | Type | Example | Description |
---|---|---|---|
id | int | 80004 | Region/City ID |
name | string | Dallas | Region/City name |
enname | string | Dallas | Region/City name (English) |
API
/api/auth/sub_list
GET
Success Response
{
"code": 0,
"msg": "success",
"data": [
{
"id": 123456,
"username": "1",
"password": "1",
"traffic_left": 12120, // Remaining traffic Unit: MB, divide by 1000 for GB
"traffic_used": 0, // Used traffic Unit: MB, divide by 1000 for GB
"remark": "",
"add_time": 1741148830,
},
{
"id": "a1adqa5iks",
"username": "12345678891111126",
"password": "12345678891111135",
"traffic_left": 20,
"traffic_used": 0,
"remark": "111",
"add_time": 1741160175,
}
]
}
Response Data
Name | Type | Example | Description |
---|---|---|---|
id | int | 123456 | Sub-account ID |
username | string | aa41160175 | Sub-account username |
password | string | aa41160175 | Sub-account password |
traffic_left | int | 20 | Remaining traffic (MB) |
traffic_used | int | 10 | Used traffic (MB) |
remark | string | 111 | Remark |
add_time | int | 1741160175 | Addition time (timestamp) |
API
/api/auth/passadd
POST
Success Response
{
"code": 0,
"msg": "success",
"data": {
"id": "aiadqa5i5d"
}
}
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
username | string | Yes | suhkhnkjCV1WS2 | Username, 12-24 characters, case-sensitive |
password | string | Yes | USUUV882sxxa | Password, 12-24 characters, case-sensitive |
traffic_gb | float | Yes | 0.01 | Initially allocated traffic, Unit: GB, range 0.01 - 10000 |
remark | string | Yes | hello | Auth remark |
Response Data
Name | Type | Example | Description |
---|---|---|---|
id | string | aiadqa5i5d | Auth ID |
API
/api/auth/passdelete
GET
Success Response
{
"code": 0,
"msg": "success",
"data": {}
}
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
account_id | string | Yes | suhkhnkj | Auth ID |
API
/api/auth/passupdate
GET
Success Response
{
"code": 0,
"msg": "success",
"data": {}
}
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
username | string | Yes | suhkhnkjCV1WS2 | Username, 12-24 characters, case-sensitive |
password | string | Yes | USUUv882sxxa | Password, 12-24 characters, case-sensitive |
account_id | string | Yes | aiadqa5lkn | Sub-auth ID |
API
/api/auth/trafficupdate
GET
Success Response
{
"code": 0,
"msg": "success",
"data": []
}
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
account_id | string | Yes | aiadqa5l5d2 | Auth ID |
traffic_gb | float | Yes | 0.01 | Traffic to allocate, Unit: GB, range 0.01 - 10000 |
type | string | Yes | add | Allocation type: add/minus => add/subtract |
API
/api/dynamic/genips
GET
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
auth | string | Yes | ip | Authentication mode: pwd -> Username/Password auth, ip -> Whitelist IP auth |
g | string | Yes | US | Country ISO code. Example: g=GB or g=GB_city_Barnes (for city) |
protocol | string | No | http | Protocol: socks5/http |
n | int | Yes | 1 | Quantity |
sign | string | Yes | 12sad54dsa | MD5 hash of user token |
accessid* | int | Yes | 123456 | User ID |
r | string | No | randomize | Required when auth is pwd. Values: randomize/sticky |
i | string | No | 12m | IP rotation interval. Required when auth is pwd and mode (r) is sticky |
f | int | No | 1 | Required when auth is pwd. Values: 1/2/3/4 (Meaning likely documented elsewhere) |
sub_uid | int | No | 123456 | Sub-auth ID (Required when auth is pwd) |
h | string | No | geo.ipcook.com | Hostname (Required when auth is pwd) |
p | int | No | 32156 | Port (Required when auth is pwd) |
API
/api/auth/remarkupdate
GET
Success Response
{
"code": 0,
"msg": "success",
"data": {}
}
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
username | string | Yes | suhkhnkjCV1WS2 | Username, 12-24 characters, case-sensitive |
password | string | Yes | USUUv882sxxa | Password, 12-24 characters, case-sensitive |
account_id | string | Yes | aiadqa5lkn | Sub-auth ID |
API
/api/dynamic/whiteipget
GET
Success Response
{
"code": 0,
"msg": "success",
"data": [
"127.0.0.1:1111",
"127.0.0.1:1122",
"127.0.0.1:1133",
"127.0.0.1:1144",
"127.0.0.1:1155"
]
}
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
g | int | Yes | 1 | Region ID |
n | int | Yes | 1 | Quantity |
Response Data
Name | Type | Example | Description |
---|---|---|---|
data | string[] | IP:Port array |
API
/api/auth/whiteipadd
GET
Success Response
{
"code": 0,
"msg": "success",
"data": []
}
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
ip | string | Yes | 1.2.3.45 | IPv4 address |
remark | string | No | hello | IP remark |
API
/api/auth/whiteipupdate
GET
Success Response
{
"code": 0,
"msg": "success",
"data": {}
}
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
ip | string | Yes | 1.2.3.4 | IP address to update |
remark | string | Yes | suhkhnkjCV1WS2 | Remark, max 500 characters, single/double quotes not allowed |
API
/api/auth/whiteipget
GET
Success Response
{
"code": 0,
"msg": "success",
"data": {
"total": 13,
"list": [
{
"ip": "127.0.0.1:1111",
"remark": "hello",
"add_time": 1740139633
},
{
"ip": "127.0.0.1:1122",
"remark": "hello",
"add_time": 1740139836
},
{
"ip": "127.0.0.1:1133",
"remark": "hello",
"add_time": 1740139886
},
{
"ip": "127.0.0.1:1144",
"remark": "hello",
"add_time": 1740139788
}
]
}
}
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
keyword | string | No | suhkhnkjCV1WS2 | Search keyword |
order | string | No | ip | Sort field: 'ip', 'add_time' |
ordered | string | No | asc | Sort direction: asc/desc |
page | int | No | 1 | Page number, default 1 |
size | int | No | 10 | Page size, default 10 |
Response Data
Name | Type | Example | Description |
---|---|---|---|
total | number | 10 | Total list count |
list | object[] | List of whitelisted IPs | |
ip | string | 127.0.0.1:1111 | IP address |
remark | string | 11 | Remark |
add_time | number | 1740139788 | Addition time (timestamp) |
API
/api/auth/whiteipdelete
GET
Success Response
{
"code": 0,
"msg": "success",
"data": []
}
Request Parameters
Parameter Name | Type | Required | Example | Remarks |
---|---|---|---|---|
ip | string | Yes | 127.0.0.1:1111 | IPv4 address |