Update proxy credentials
curl --request POST \
--url https://api.proxyjam.com/public/v1/orders/{order_id}/credentials \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"ips": [
{}
],
"passwords": [
{}
]
}
'import requests
url = "https://api.proxyjam.com/public/v1/orders/{order_id}/credentials"
payload = {
"ips": [{}],
"passwords": [{}]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({ips: [{}], passwords: [{}]})
};
fetch('https://api.proxyjam.com/public/v1/orders/{order_id}/credentials', 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://api.proxyjam.com/public/v1/orders/{order_id}/credentials",
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([
'ips' => [
[
]
],
'passwords' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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://api.proxyjam.com/public/v1/orders/{order_id}/credentials"
payload := strings.NewReader("{\n \"ips\": [\n {}\n ],\n \"passwords\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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://api.proxyjam.com/public/v1/orders/{order_id}/credentials")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ips\": [\n {}\n ],\n \"passwords\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.proxyjam.com/public/v1/orders/{order_id}/credentials")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ips\": [\n {}\n ],\n \"passwords\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_bodyMobile rotating proxies
Update proxy credentials
Replace IP whitelist and/or login/password pairs on a mobile rotating proxy.
POST
/
orders
/
{order_id}
/
credentials
Update proxy credentials
curl --request POST \
--url https://api.proxyjam.com/public/v1/orders/{order_id}/credentials \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"ips": [
{}
],
"passwords": [
{}
]
}
'import requests
url = "https://api.proxyjam.com/public/v1/orders/{order_id}/credentials"
payload = {
"ips": [{}],
"passwords": [{}]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({ips: [{}], passwords: [{}]})
};
fetch('https://api.proxyjam.com/public/v1/orders/{order_id}/credentials', 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://api.proxyjam.com/public/v1/orders/{order_id}/credentials",
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([
'ips' => [
[
]
],
'passwords' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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://api.proxyjam.com/public/v1/orders/{order_id}/credentials"
payload := strings.NewReader("{\n \"ips\": [\n {}\n ],\n \"passwords\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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://api.proxyjam.com/public/v1/orders/{order_id}/credentials")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ips\": [\n {}\n ],\n \"passwords\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.proxyjam.com/public/v1/orders/{order_id}/credentials")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ips\": [\n {}\n ],\n \"passwords\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_bodyReplaces the credential set on the upstream pool. You can update the whitelist of source IPs, the list of login/password pairs, or both in one call.
At least one of
ips or passwords must be provided. Each list is capped at 20 entries by the upstream pool.
Path parameters
string
required
UUID of the order backing the mobile rotating proxy.
Request body
array
Allowed source IPs for IP-whitelist authentication. Omit to leave the existing list unchanged.
array
Login/password pairs, each shaped
{"login": "...", "password": "..."}. Omit to leave the existing list unchanged.Response
Live snapshot of the mobile rotating proxy with the updated credentials applied. Same shape as the mobile branch of Get order.Example
curl -X POST "https://api.proxyjam.com/public/v1/orders/997b4450-e7ae-4ad9-8a25-996e582049c9/credentials" \
-H "X-API-Key: pj_AbCdEf..." \
-H "Content-Type: application/json" \
-d '{
"ips": ["203.0.113.10", "203.0.113.11"],
"passwords": [
{"login": "scrape_bot", "password": "s3cret"}
]
}'
from proxyjam import ProxyJamClient
with ProxyJamClient(api_key="pj_live_...") as proxyjam:
proxy = proxyjam.proxies.rotate_credentials(
"997b4450-e7ae-4ad9-8a25-996e582049c9",
ips=["203.0.113.10", "203.0.113.11"],
passwords=[{"login": "scrape_bot", "password": "s3cret"}],
)
print(proxy.username, proxy.whitelisted_ips)
{
"type": "mobile",
"id": "997b4450-e7ae-4ad9-8a25-996e582049c9",
"status": "active",
"auto_renew": true,
"expires_at": "2026-12-31T23:59:59Z",
"host": "gw.proxyjam.com",
"port": 24534,
"username": "scrape_bot",
"password": "s3cret",
"current_ip": "203.0.113.99",
"signature": "android",
"tags": ["scrape"],
"whitelisted_ips": ["203.0.113.10", "203.0.113.11"],
"order_status": "provisioned",
"proxy_type": "mobile",
"ip_version": "IPv4",
"protocol": "HTTP",
"country": "US",
"city": null,
"isp": "T-Mobile",
"period_days": 1,
"bandwidth_gb": null,
"quantity": 1,
"total_usd": 1.5,
"total_amount": "1.50",
"currency": "USD",
"promo_code_id": null,
"discount_usd": null,
"created_at": "2026-12-30T23:59:59Z",
"updated_at": "2026-12-31T00:15:01Z",
"payment_intent_id": null,
"previous_expires_at": null
}
⌘I