Update sub-user
curl --request POST \
--url https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"userId": "test124",
"dataGb": 2
}
'import requests
url = "https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update"
payload = {
"userId": "test124",
"dataGb": 2
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({userId: 'test124', dataGb: 2})
};
fetch('https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'userId' => 'test124',
'dataGb' => 2
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update"
payload := strings.NewReader("{\n \"userId\": \"test124\",\n \"dataGb\": 2\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"userId\": \"test124\",\n \"dataGb\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"userId\": \"test124\",\n \"dataGb\": 2\n}"
response = http.request(request)
puts response.read_body{
"username": "test124",
"userId": "test124",
"password": "<string>",
"dataLimit": 5,
"dataUsed": 1.2,
"dataRemaining": 3.8,
"status": "active",
"dateCreated": "2023-11-07T05:31:56Z",
"whitelistedIps": [
"203.0.113.10",
"203.0.113.11"
]
}{
"statusCode": 400,
"message": "User <username or user_id> does not exist",
"error": "Bad Request"
}{
"statusCode": 403,
"message": "reseller not found",
"error": "Bad Request"
}Plan X
Update sub-user
Updates a sub-user’s data allocation. Takes two inputs:
- userId: The ID of the user to update.
- dataGb: The amount, in GB, to adjust the user’s current data allocation by (positive to add, negative to subtract). The resulting allocation cannot be negative. Returns the updated user’s details, including userId, username, password, status, dataLimit, dataUsed, dateCreated, and whitelistedIps.
POST
/
proxy_api
/
v1
/
planx
/
users
/
update
Update sub-user
curl --request POST \
--url https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"userId": "test124",
"dataGb": 2
}
'import requests
url = "https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update"
payload = {
"userId": "test124",
"dataGb": 2
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({userId: 'test124', dataGb: 2})
};
fetch('https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'userId' => 'test124',
'dataGb' => 2
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update"
payload := strings.NewReader("{\n \"userId\": \"test124\",\n \"dataGb\": 2\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"userId\": \"test124\",\n \"dataGb\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v1/planx/users/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"userId\": \"test124\",\n \"dataGb\": 2\n}"
response = http.request(request)
puts response.read_body{
"username": "test124",
"userId": "test124",
"password": "<string>",
"dataLimit": 5,
"dataUsed": 1.2,
"dataRemaining": 3.8,
"status": "active",
"dateCreated": "2023-11-07T05:31:56Z",
"whitelistedIps": [
"203.0.113.10",
"203.0.113.11"
]
}{
"statusCode": 400,
"message": "User <username or user_id> does not exist",
"error": "Bad Request"
}{
"statusCode": 403,
"message": "reseller not found",
"error": "Bad Request"
}Authorizations
[just text field] Please enter token in following format: Bearer
Body
application/json
Response
User updated
Username of the sub-user
Example:
"test124"
Unique identifier of the sub-user (same value as username)
Example:
"test124"
Current password of the sub-user
Total data allocated to the sub-user, in GB
Example:
5
Amount of data used by the sub-user so far, in GB
Example:
1.2
Amount of data remaining for the sub-user, in GB (dataLimit minus dataUsed)
Example:
3.8
Current status of the sub-user
Available options:
active, inactive Example:
"active"
Date and time the sub-user was created
List of IP addresses whitelisted for the sub-user
Example:
["203.0.113.10", "203.0.113.11"]

