curl --request POST \
--url https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v3/tl-isps/orders/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"quantity": 123,
"pool_id": "<string>",
"is_socks": false,
"is_test": true,
"username": null,
"idempotency_key": "9a7b3309-6e07-4d50-a460-ccf56564ddeb"
}
'import requests
url = "https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v3/tl-isps/orders/create"
payload = {
"quantity": 123,
"pool_id": "<string>",
"is_socks": False,
"is_test": True,
"username": None,
"idempotency_key": "9a7b3309-6e07-4d50-a460-ccf56564ddeb"
}
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({
quantity: 123,
pool_id: '<string>',
is_socks: false,
is_test: true,
username: null,
idempotency_key: '9a7b3309-6e07-4d50-a460-ccf56564ddeb'
})
};
fetch('https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v3/tl-isps/orders/create', 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/v3/tl-isps/orders/create",
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([
'quantity' => 123,
'pool_id' => '<string>',
'is_socks' => false,
'is_test' => true,
'username' => null,
'idempotency_key' => '9a7b3309-6e07-4d50-a460-ccf56564ddeb'
]),
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/v3/tl-isps/orders/create"
payload := strings.NewReader("{\n \"quantity\": 123,\n \"pool_id\": \"<string>\",\n \"is_socks\": false,\n \"is_test\": true,\n \"username\": null,\n \"idempotency_key\": \"9a7b3309-6e07-4d50-a460-ccf56564ddeb\"\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/v3/tl-isps/orders/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"quantity\": 123,\n \"pool_id\": \"<string>\",\n \"is_socks\": false,\n \"is_test\": true,\n \"username\": null,\n \"idempotency_key\": \"9a7b3309-6e07-4d50-a460-ccf56564ddeb\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v3/tl-isps/orders/create")
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 \"quantity\": 123,\n \"pool_id\": \"<string>\",\n \"is_socks\": false,\n \"is_test\": true,\n \"username\": null,\n \"idempotency_key\": \"9a7b3309-6e07-4d50-a460-ccf56564ddeb\"\n}"
response = http.request(request)
puts response.read_body{
"userId": "<string>",
"pool": {},
"orderTime": "2023-11-07T05:31:56Z",
"expiry": "2023-11-07T05:31:56Z",
"quantity": 123,
"status": "<string>",
"proxyList": [
"<string>"
],
"idempotencyKey": "9a7b3309-6e07-4d50-a460-ccf56564ddeb"
}{
"statusCode": 400,
"message": "Not enough reseller data left",
"error": "Bad Request"
}{
"statusCode": 403,
"message": "reseller not found",
"error": "Bad Request"
}{
"statusCode": 409,
"message": "Order creation for this idempotency key is still processing",
"error": "Conflict"
}Create a Sub
Creates a sub-user and provisions proxies. Provide the following parameters:
-
quantity: Number of proxy IP addresses to allocate. For subnet pools (pool name starts with “TL_SN_”), use 256 to allocate 256 IP addresses. For all other pools, use a value between 1 and 200 to allocate that many IP addresses. Make sure the selected pool has sufficient available stock for the requested quantity (use Get all pools to check stock).
-
pool_id: The proxy pool to allocate proxies from (e.g. “TL004”). Use Get all pools (GET /v3/tl-isps/pools) to retrieve the available pools and their IDs.
-
is_socks: Whether to create the proxy as a SOCKS5 proxy (true) or an HTTP proxy (false, the default). Creating a SOCKS5 proxy assigns a new HTTP port number, but the previous HTTP port keeps working. SOCKS5 proxies also support UDP.
-
is_test: Whether to create a test proxy (true) or a regular proxy (false). Test proxies are dummy proxies that cannot be used; regular proxies are actual, usable proxies.
-
idempotency_key (optional): A client-generated UUID used to make the request idempotent within your reseller account. Reuse the same idempotency_key when retrying the same order. Completed requests return the original response, in-progress or mismatched retries return 409, and requests without idempotency_key are not idempotent.
Protocol support: provisioned proxies support both HTTP and SOCKS protocols, so the same proxies can be used with either protocol depending on your integration requirements. The default protocol is HTTP/HTTPS; SOCKS5 also provides UDP support.
curl --request POST \
--url https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v3/tl-isps/orders/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"quantity": 123,
"pool_id": "<string>",
"is_socks": false,
"is_test": true,
"username": null,
"idempotency_key": "9a7b3309-6e07-4d50-a460-ccf56564ddeb"
}
'import requests
url = "https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v3/tl-isps/orders/create"
payload = {
"quantity": 123,
"pool_id": "<string>",
"is_socks": False,
"is_test": True,
"username": None,
"idempotency_key": "9a7b3309-6e07-4d50-a460-ccf56564ddeb"
}
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({
quantity: 123,
pool_id: '<string>',
is_socks: false,
is_test: true,
username: null,
idempotency_key: '9a7b3309-6e07-4d50-a460-ccf56564ddeb'
})
};
fetch('https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v3/tl-isps/orders/create', 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/v3/tl-isps/orders/create",
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([
'quantity' => 123,
'pool_id' => '<string>',
'is_socks' => false,
'is_test' => true,
'username' => null,
'idempotency_key' => '9a7b3309-6e07-4d50-a460-ccf56564ddeb'
]),
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/v3/tl-isps/orders/create"
payload := strings.NewReader("{\n \"quantity\": 123,\n \"pool_id\": \"<string>\",\n \"is_socks\": false,\n \"is_test\": true,\n \"username\": null,\n \"idempotency_key\": \"9a7b3309-6e07-4d50-a460-ccf56564ddeb\"\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/v3/tl-isps/orders/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"quantity\": 123,\n \"pool_id\": \"<string>\",\n \"is_socks\": false,\n \"is_test\": true,\n \"username\": null,\n \"idempotency_key\": \"9a7b3309-6e07-4d50-a460-ccf56564ddeb\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://core-proxy-service-w34nvoxnwq-uc.a.run.app/proxy_api/v3/tl-isps/orders/create")
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 \"quantity\": 123,\n \"pool_id\": \"<string>\",\n \"is_socks\": false,\n \"is_test\": true,\n \"username\": null,\n \"idempotency_key\": \"9a7b3309-6e07-4d50-a460-ccf56564ddeb\"\n}"
response = http.request(request)
puts response.read_body{
"userId": "<string>",
"pool": {},
"orderTime": "2023-11-07T05:31:56Z",
"expiry": "2023-11-07T05:31:56Z",
"quantity": 123,
"status": "<string>",
"proxyList": [
"<string>"
],
"idempotencyKey": "9a7b3309-6e07-4d50-a460-ccf56564ddeb"
}{
"statusCode": 400,
"message": "Not enough reseller data left",
"error": "Bad Request"
}{
"statusCode": 403,
"message": "reseller not found",
"error": "Bad Request"
}{
"statusCode": 409,
"message": "Order creation for this idempotency key is still processing",
"error": "Conflict"
}Authorizations
[just text field] Please enter token in following format: Bearer
Body
Number of proxy IPs to allocate. For subnet pools (pool name starts with "TL_SN_"), use 256 to allocate 256 IP addresses. For all other pools, use a value between 1 and 200 to allocate that many IP addresses. Make sure the selected pool has enough available stock for the requested quantity (use Get all pools to check stock).
ID of the proxy pool to allocate proxies from (e.g. "TL004"). Use Get all pools (GET /v3/tl-isps/pools) to retrieve the available pools and their IDs.
Whether to create the proxy as a SOCKS5 proxy (true) or an HTTP proxy (false). Defaults to false (HTTP). Note: creating a SOCKS5 proxy assigns a new HTTP port, but the previous HTTP port keeps working. SOCKS5 proxies also support UDP.
Whether to create a test proxy (true) or a regular proxy (false). Test proxies are dummy proxies that cannot be used; regular proxies are actual, usable proxies.
Username for proxy authentication. If omitted, a username is generated automatically. Must be 8-12 characters long, contain only letters, numbers and underscores, and cannot start or end with an underscore.
UUID used to make order creation idempotent within the reseller account. Requests without an idempotency_key are not idempotent.
"9a7b3309-6e07-4d50-a460-ccf56564ddeb"
Response
User created

