Skip to content

Orders

SDK Reference · Resource

Orders

Review purchased packages, allocated data, and proxy credentials.

method

list()

List active orders

Returns active package orders owned by the authenticated account. Superusers can inspect other accounts, including inactive orders; filters never expand a normal caller's ownership scope. Repeated purchases of one package reuse the same user/package order. Read data_remaining and ledgers for usable purchased data, not data minus data_spent. To inspect a managed customer, use /users/{id}/orders.

Signature

Promiseclient.orders.list(options: OrdersListOptions = {}): Promise<OrdersListResponse>

Parameters

NameTypeRequirementDescription
limitnumberOptionalNumber of results to return per page.
offsetnumberOptionalThe initial index from which to return the results.
orderingstringOptionalWhich field to use when ordering the results.
packageAliasstringOptional—
packageIdstringOptional—
packageTypestringOptional* `static` - Static * `residential` - Residential
searchstringOptionalCase-insensitive partial search across Order fields: `id`, `alias`, `internal_id`, and `proxy_password`. Separate multiple terms with spaces or commas; every term must match at least one listed field.
userEmailstringOptional—
userIdstringOptional—
acceptLanguagestringOptionalPreferred language for human-readable API errors. Supported languages: en, ru, uk, de, it, fr, es, zh-hans, ja. Regional language tags and quality weights are accepted; unsupported or omitted values use English.

Example

const result = await client.orders.list();

Returns

PaginatedOrderList

The operation completed successfully.

typePaginatedOrderList4fields
count
number
Required
—
next
string
Optional
—
previous
string
Optional
—
results
Order[]
Required
—
typeOrder17fields
id
string
Optional
—
is_auto_renewal
boolean
Required
—
auto_renewal_percentage
number
Optional
When this percentage of the data allowance has been consumed, the order is automatically renewed if the user has sufficient balance. Set to 0 to disable auto-renewal. 80 → renew when 80% of data is used
auto_renewal_data
number
Optional
Amount of data in GB to add when auto-renewal is triggered. Set to 0 to use the package default.
package
PackageShort
Required
—
typePackageShort5fields
id
string
Optional
—
name
string
Required
Unique display name for this package shown to customers and in the admin. Residential Starter Business Pro
alias
string
Required
Lowercase alphanumeric identifier used internally for package resolution and proxy username routing. Cannot be changed without affecting active connections. residential01 bizpro
is_unlimited_data
boolean
Optional
When enabled, users on this package have no data cap. The proxy will not enforce any bandwidth limit.
targeting_options
TargetingOptions
Required
—
typeTargetingOptions25fields
package
string
Required
—
split_char
string
Required
—
value_char
string
Required
—
continent
string
Required
—
country
string
Required
—
region
string
Required
—
city
string
Required
—
asn
string
Required
—
isp
string
Required
—
username
string
Required
—
pool
string
Required
—
location
string
Required
—
location_format
string
Required
—
session
string
Required
—
session_mode_tag
string
Required
—
session_ttl
string
Required
—
session_ttl_format
number
Required
—
os
string
Required
—
os_combined
boolean
Required
—
os_split_char
string
Required
—
os_linux
string
Required
—
os_windows
string
Required
—
os_ios
string
Required
—
os_macos
string
Required
—
os_android
string
Required
—
proxy_password
string
Optional
Password used by the customer to authenticate proxy connections. Auto-generated by default — change only if a custom value is needed. Must be between 4 and 64 characters.
proxy_password_reset
string
Optional
Timestamp of the last proxy password change. Read-only — updated automatically whenever the password is rotated.
pools
string[]
Optional
Private proxy pools assigned to this order. Pools restrict which proxy IPs are available to this customer. Leave blank to use the full provider pool.
data
number
Optional
Total data allowance for this order in bytes. 1073741824 = 1 GiB 10737418240 = 10 GiB
data_remaining
number
Required
Integer bytes. Root order: sum of usable ledger balances, not data minus data_spent. Virtual child order: max(data - data_spent, 0), a personal quota that does not guarantee the parent still has usable data.
data_spent
number
Optional
Total bytes consumed from this order's data allowance so far. Updated in real time as the customer uses the proxy.
ledgers
DataLedger[]
Required
Usable, non-expired ledger balances for a purchased root order; empty for a virtual child order using its parent's pool. Not a complete history. Array position does not identify the active ledger or spending order.
typeDataLedger6fields

A purchased data bucket, not a complete transaction history. Finite purchases with an expiration have separate buckets. Compatible non-expiring top-ups and unlimited packages may reuse an existing bucket.

id
string
Required
—
data
number
Required
Total data allocated to this ledger entry in bytes. 1073741824 = 1 GiB 10737418240 = 10 GiB
data_remaining
number
Required
Bytes still available for consumption from this ledger entry. Decremented in FIFO order as the customer uses the proxy. When this reaches zero the entry is exhausted.
expires
string
Required
Date and time when this ledger entry expires and any remaining data is forfeited. Leave blank for entries that do not expire.
updated
string
Required
—
created
string
Required
—
latest_data_top_up
number
Optional
Amount of data added to this order in bytes during the most recent top-up.
latest_data_top_up_date
string
Optional
Timestamp of the most recent data top-up, set when an invoice is fulfilled.
data_updated
string
Required
—
updated
string
Required
—
created
string
Required
—

Throws

ApiError

Normalized API, transport, and response processing failure.

  • kind: "validation"The request arguments or business rules are invalid.
  • kind: "authentication"Authentication credentials are missing, expired, or invalid.
  • kind: "permission"The authenticated account cannot perform this operation.
  • kind: "network"The request could not reach ProxyRequest.
  • kind: "unexpected"The response could not be decoded or did not match the SDK contract.
Advanced variants
  • client.orders.listWithResponse(options): Promise<ApiResponse<OrdersListResponse>>

    Returns response status, headers, ETag and idempotency metadata with the decoded data.

method

get()

Get an order

Returns one active order with package, usage, expiration, and proxy credential details. Virtual child data_remaining is a personal quota, not the parent's shared balance. The order's expires value is not a list of all purchased bucket deadlines; inspect each returned ledger's expires.

Signature

Promiseclient.orders.get(options: OrdersGetOptions): Promise<OrdersGetResponse>

Parameters

NameTypeRequirementDescription
idstringRequiredA unique value identifying this Order.
acceptLanguagestringOptionalPreferred language for human-readable API errors. Supported languages: en, ru, uk, de, it, fr, es, zh-hans, ja. Regional language tags and quality weights are accepted; unsupported or omitted values use English.

Example

const result = await client.orders.get({
id: "550e8400-e29b-41d4-a716-446655440000"
});

Returns

OrderDetailed

The operation completed successfully.

typeOrderDetailed18fields
id
string
Optional
—
package
PackageShort
Required
—
typePackageShort5fields
id
string
Optional
—
name
string
Required
Unique display name for this package shown to customers and in the admin. Residential Starter Business Pro
alias
string
Required
Lowercase alphanumeric identifier used internally for package resolution and proxy username routing. Cannot be changed without affecting active connections. residential01 bizpro
is_unlimited_data
boolean
Optional
When enabled, users on this package have no data cap. The proxy will not enforce any bandwidth limit.
targeting_options
TargetingOptions
Required
—
typeTargetingOptions25fields
package
string
Required
—
split_char
string
Required
—
value_char
string
Required
—
continent
string
Required
—
country
string
Required
—
region
string
Required
—
city
string
Required
—
asn
string
Required
—
isp
string
Required
—
username
string
Required
—
pool
string
Required
—
location
string
Required
—
location_format
string
Required
—
session
string
Required
—
session_mode_tag
string
Required
—
session_ttl
string
Required
—
session_ttl_format
number
Required
—
os
string
Required
—
os_combined
boolean
Required
—
os_split_char
string
Required
—
os_linux
string
Required
—
os_windows
string
Required
—
os_ios
string
Required
—
os_macos
string
Required
—
os_android
string
Required
—
is_active
boolean
Optional
When enabled, the customer can actively use proxies on this order. Disable to suspend access without deleting the order.
is_auto_renewal
boolean
Required
—
auto_renewal_percentage
number
Optional
When this percentage of the data allowance has been consumed, the order is automatically renewed if the user has sufficient balance. Set to 0 to disable auto-renewal. 80 → renew when 80% of data is used
auto_renewal_data
number
Optional
Amount of data in GB to add when auto-renewal is triggered. Set to 0 to use the package default.
user_id
string
Required
—
proxy_password
string
Optional
Password used by the customer to authenticate proxy connections. Auto-generated by default — change only if a custom value is needed. Must be between 4 and 64 characters.
proxy_password_reset
string
Optional
Timestamp of the last proxy password change. Read-only — updated automatically whenever the password is rotated.
pools
string[]
Optional
Private proxy pools assigned to this order. Pools restrict which proxy IPs are available to this customer. Leave blank to use the full provider pool.
data
number
Optional
Total data allowance for this order in bytes. 1073741824 = 1 GiB 10737418240 = 10 GiB
data_remaining
number
Required
Integer bytes. Root order: sum of usable ledger balances. Virtual child order: max(data - data_spent, 0); access also needs a usable parent pool.
data_spent
number
Optional
Total bytes consumed from this order's data allowance so far. Updated in real time as the customer uses the proxy.
ledgers
DataLedger[]
Required
Usable, non-expired purchased buckets; empty for virtual child orders. Not a complete history, and array position is not spending priority.
typeDataLedger6fields

A purchased data bucket, not a complete transaction history. Finite purchases with an expiration have separate buckets. Compatible non-expiring top-ups and unlimited packages may reuse an existing bucket.

id
string
Required
—
data
number
Required
Total data allocated to this ledger entry in bytes. 1073741824 = 1 GiB 10737418240 = 10 GiB
data_remaining
number
Required
Bytes still available for consumption from this ledger entry. Decremented in FIFO order as the customer uses the proxy. When this reaches zero the entry is exhausted.
expires
string
Required
Date and time when this ledger entry expires and any remaining data is forfeited. Leave blank for entries that do not expire.
updated
string
Required
—
created
string
Required
—
latest_data_top_up
number
Optional
Amount of data added to this order in bytes during the most recent top-up.
latest_data_top_up_date
string
Optional
Timestamp of the most recent data top-up, set when an invoice is fulfilled.
data_updated
string
Required
—
expires
string
Optional
Date and time when this order expires and access is revoked. Leave blank for orders that do not expire.

Throws

ApiError

Normalized API, transport, and response processing failure.

  • kind: "validation"The request arguments or business rules are invalid.
  • kind: "authentication"Authentication credentials are missing, expired, or invalid.
  • kind: "permission"The authenticated account cannot perform this operation.
  • kind: "not_found"The requested resource does not exist.
  • kind: "network"The request could not reach ProxyRequest.
  • kind: "unexpected"The response could not be decoded or did not match the SDK contract.
Advanced variants
  • client.orders.getWithResponse(options): Promise<ApiResponse<OrdersGetResponse>>

    Returns response status, headers, ETag and idempotency metadata with the decoded data.

method

updateAutoRenewal()

Update order auto-renewal

Updates only the auto-renewal threshold and top-up amount for an active order owned by the authenticated account. Set both values to zero to disable it.

Signature

Promiseclient.orders.updateAutoRenewal(options: OrdersUpdateAutoRenewalOptions): Promise<OrdersUpdateAutoRenewalResponse>

Parameters

NameTypeRequirementDescription
idstringRequiredA unique value identifying this Order.
ifMatchstringOptionalStrong ETag from the latest representation of this resource.
acceptLanguagestringOptionalPreferred language for human-readable API errors. Supported languages: en, ru, uk, de, it, fr, es, zh-hans, ja. Regional language tags and quality weights are accepted; unsupported or omitted values use English.
bodyPatchedOrderAutoRenewalRequestOptional—

Example

const result = await client.orders.updateAutoRenewal({
id: "550e8400-e29b-41d4-a716-446655440000",
body: {}
});

Returns

Order

The operation completed successfully.

typeOrder17fields
id
string
Optional
—
is_auto_renewal
boolean
Required
—
auto_renewal_percentage
number
Optional
When this percentage of the data allowance has been consumed, the order is automatically renewed if the user has sufficient balance. Set to 0 to disable auto-renewal. 80 → renew when 80% of data is used
auto_renewal_data
number
Optional
Amount of data in GB to add when auto-renewal is triggered. Set to 0 to use the package default.
package
PackageShort
Required
—
typePackageShort5fields
id
string
Optional
—
name
string
Required
Unique display name for this package shown to customers and in the admin. Residential Starter Business Pro
alias
string
Required
Lowercase alphanumeric identifier used internally for package resolution and proxy username routing. Cannot be changed without affecting active connections. residential01 bizpro
is_unlimited_data
boolean
Optional
When enabled, users on this package have no data cap. The proxy will not enforce any bandwidth limit.
targeting_options
TargetingOptions
Required
—
typeTargetingOptions25fields
package
string
Required
—
split_char
string
Required
—
value_char
string
Required
—
continent
string
Required
—
country
string
Required
—
region
string
Required
—
city
string
Required
—
asn
string
Required
—
isp
string
Required
—
username
string
Required
—
pool
string
Required
—
location
string
Required
—
location_format
string
Required
—
session
string
Required
—
session_mode_tag
string
Required
—
session_ttl
string
Required
—
session_ttl_format
number
Required
—
os
string
Required
—
os_combined
boolean
Required
—
os_split_char
string
Required
—
os_linux
string
Required
—
os_windows
string
Required
—
os_ios
string
Required
—
os_macos
string
Required
—
os_android
string
Required
—
proxy_password
string
Optional
Password used by the customer to authenticate proxy connections. Auto-generated by default — change only if a custom value is needed. Must be between 4 and 64 characters.
proxy_password_reset
string
Optional
Timestamp of the last proxy password change. Read-only — updated automatically whenever the password is rotated.
pools
string[]
Optional
Private proxy pools assigned to this order. Pools restrict which proxy IPs are available to this customer. Leave blank to use the full provider pool.
data
number
Optional
Total data allowance for this order in bytes. 1073741824 = 1 GiB 10737418240 = 10 GiB
data_remaining
number
Required
Integer bytes. Root order: sum of usable ledger balances, not data minus data_spent. Virtual child order: max(data - data_spent, 0), a personal quota that does not guarantee the parent still has usable data.
data_spent
number
Optional
Total bytes consumed from this order's data allowance so far. Updated in real time as the customer uses the proxy.
ledgers
DataLedger[]
Required
Usable, non-expired ledger balances for a purchased root order; empty for a virtual child order using its parent's pool. Not a complete history. Array position does not identify the active ledger or spending order.
typeDataLedger6fields

A purchased data bucket, not a complete transaction history. Finite purchases with an expiration have separate buckets. Compatible non-expiring top-ups and unlimited packages may reuse an existing bucket.

id
string
Required
—
data
number
Required
Total data allocated to this ledger entry in bytes. 1073741824 = 1 GiB 10737418240 = 10 GiB
data_remaining
number
Required
Bytes still available for consumption from this ledger entry. Decremented in FIFO order as the customer uses the proxy. When this reaches zero the entry is exhausted.
expires
string
Required
Date and time when this ledger entry expires and any remaining data is forfeited. Leave blank for entries that do not expire.
updated
string
Required
—
created
string
Required
—
latest_data_top_up
number
Optional
Amount of data added to this order in bytes during the most recent top-up.
latest_data_top_up_date
string
Optional
Timestamp of the most recent data top-up, set when an invoice is fulfilled.
data_updated
string
Required
—
updated
string
Required
—
created
string
Required
—

Throws

ApiError

Normalized API, transport, and response processing failure.

  • kind: "validation"The request arguments or business rules are invalid.
  • kind: "authentication"Authentication credentials are missing, expired, or invalid.
  • kind: "permission"The authenticated account cannot perform this operation.
  • kind: "not_found"The requested resource does not exist.
  • kind: "precondition"A required resource precondition is no longer satisfied.
  • kind: "network"The request could not reach ProxyRequest.
  • kind: "unexpected"The response could not be decoded or did not match the SDK contract.
Advanced variants
  • client.orders.updateAutoRenewalWithResponse(options): Promise<ApiResponse<OrdersUpdateAutoRenewalResponse>>

    Returns response status, headers, ETag and idempotency metadata with the decoded data.

method

delete()

Delete a sub-user order

Removes an order in the caller's permitted scope. This is destructive, not a payment refund. Deleting a virtual child order does not credit its quota to the shared ledger. Independently purchased sub-user orders have a legacy parent-order data-counter adjustment; do not treat it as a guaranteed restoration of usable ledger balance.

Signature

Promiseclient.orders.delete(options: OrdersDeleteOptions): Promise<OrdersDeleteResponse>

Parameters

NameTypeRequirementDescription
idstringRequiredA unique value identifying this Order.
idempotencyKeystringOptionalStable key for one logical mutation. Successful responses are replayable for 24 hours; reusing a key with a different request fails.
ifMatchstringOptionalStrong ETag from the latest representation of this resource.
acceptLanguagestringOptionalPreferred language for human-readable API errors. Supported languages: en, ru, uk, de, it, fr, es, zh-hans, ja. Regional language tags and quality weights are accepted; unsupported or omitted values use English.

Example

const result = await client.orders.delete({
id: "550e8400-e29b-41d4-a716-446655440000"
});

Returns

void

No response body

Throws

ApiError

Normalized API, transport, and response processing failure.

  • kind: "validation"The request arguments or business rules are invalid.
  • kind: "authentication"Authentication credentials are missing, expired, or invalid.
  • kind: "permission"The authenticated account cannot perform this operation.
  • kind: "not_found"The requested resource does not exist.
  • kind: "conflict"The operation conflicts with the current resource or idempotency state.
  • kind: "precondition"A required resource precondition is no longer satisfied.
  • kind: "network"The request could not reach ProxyRequest.
  • kind: "unexpected"The response could not be decoded or did not match the SDK contract.
Advanced variants
  • client.orders.deleteWithResponse(options): Promise<ApiResponse<OrdersDeleteResponse>>

    Returns response status, headers, ETag and idempotency metadata with the decoded data.

method

resetPassword()

Reset an order's proxy password

Rotates the proxy password for the order identified by order_id. Existing proxy connection strings stop working after the rotation; use the updated proxy password for all new connections.

Signature

Promiseclient.orders.resetPassword(options: OrdersResetPasswordOptions): Promise<OrdersResetPasswordResponse>

Parameters

NameTypeRequirementDescription
acceptLanguagestringOptionalPreferred language for human-readable API errors. Supported languages: en, ru, uk, de, it, fr, es, zh-hans, ja. Regional language tags and quality weights are accepted; unsupported or omitted values use English.
bodyResetPasswordRequestRequired—

Example

const result = await client.orders.resetPassword({
body: {
"order_id": "550e8400-e29b-41d4-a716-446655440000"
}
});

Returns

ProxyPasswordResetResponse

The operation completed successfully.

typeProxyPasswordResetResponse2fields
message
string
Required
—
success
boolean
Required
—

Throws

ApiError

Normalized API, transport, and response processing failure.

  • kind: "validation"The request arguments or business rules are invalid.
  • kind: "not_found"The requested resource does not exist.
  • kind: "network"The request could not reach ProxyRequest.
  • kind: "unexpected"The response could not be decoded or did not match the SDK contract.
Advanced variants
  • client.orders.resetPasswordWithResponse(options): Promise<ApiResponse<OrdersResetPasswordResponse>>

    Returns response status, headers, ETag and idempotency metadata with the decoded data.