SOAX Proxy Management API
The SOAX Proxy Management API enables programmatic control of proxy packages including IP whitelisting, endpoint generation, and proxy configuration for residential, mobile, and datacenter proxy pools.
The SOAX Proxy Management API enables programmatic control of proxy packages including IP whitelisting, endpoint generation, and proxy configuration for residential, mobile, and datacenter proxy pools.
openapi: 3.0.3
info:
title: SOAX Proxy Management API
description: >-
The SOAX Proxy Management API enables programmatic control of proxy packages. Manage IP whitelists, configure proxy endpoints, and retrieve geo-targeting options including cities, regions, carriers, and ISPs across 195+ countries.
version: '1'
contact:
name: SOAX Support
url: https://helpcenter.soax.com/
license:
name: Proprietary
url: https://soax.com/terms-of-service
servers:
- url: https://partner.api.soax.com
description: SOAX Partner API endpoint
security:
- APIKeyHeader: []
tags:
- name: IP Whitelist
description: Manage whitelisted IP addresses for proxy authentication
- name: Geo Targeting
description: Retrieve available cities, regions, carriers, and ISPs for proxy targeting
paths:
/v1/account/package/{package_key}/ip-list:
get:
operationId: listWhitelistedIps
summary: List Whitelisted IPs
description: Retrieve the list of whitelisted IP addresses for a proxy package slot.
tags:
- IP Whitelist
parameters:
- name: package_key
in: path
required: true
description: Your proxy package key from the SOAX dashboard
schema:
type: string
responses:
'200':
description: List of whitelisted IP slots
content:
application/json:
schema:
$ref: '#/components/schemas/IpListResponse'
'401':
description: Invalid API key
'404':
description: Package not found
/v1/account/package/{package_key}/update-ip:
post:
operationId: updateWhitelistedIp
summary: Update Whitelisted IP
description: Add or update an IP address in a proxy package whitelist slot.
tags:
- IP Whitelist
parameters:
- name: package_key
in: path
required: true
description: Your proxy package key
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateIpRequest'
example:
- ip: "203.0.113.10"
slot: 1
comment: "Office IP"
responses:
'200':
description: IP address updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/IpOperationResponse'
'400':
description: Invalid IP address or slot number
'401':
description: Invalid API key
/v1/account/package/{package_key}/detach-ip:
post:
operationId: detachWhitelistedIp
summary: Detach Whitelisted IP
description: Remove an IP address from a proxy package whitelist slot by slot number or IP address.
tags:
- IP Whitelist
parameters:
- name: package_key
in: path
required: true
description: Your proxy package key
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DetachIpRequest'
responses:
'200':
description: IP address removed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/IpOperationResponse'
'400':
description: Invalid slot or IP not found
'401':
description: Invalid API key
/v1/geo/cities:
get:
operationId: listCities
summary: List Cities
description: Retrieve the list of available cities for proxy geo-targeting.
tags:
- Geo Targeting
parameters:
- name: country
in: query
required: false
description: Filter cities by country code
schema:
type: string
example: "us"
responses:
'200':
description: List of available cities
content:
application/json:
schema:
$ref: '#/components/schemas/CitiesResponse'
'401':
description: Invalid API key
/v1/geo/regions:
get:
operationId: listRegions
summary: List Regions
description: Retrieve the list of available regions/states for proxy geo-targeting.
tags:
- Geo Targeting
parameters:
- name: country
in: query
required: false
description: Filter regions by country code
schema:
type: string
responses:
'200':
description: List of available regions
content:
application/json:
schema:
$ref: '#/components/schemas/RegionsResponse'
'401':
description: Invalid API key
/v1/geo/carriers:
get:
operationId: listMobileCarriers
summary: List Mobile Carriers
description: Retrieve the list of available mobile carriers for mobile proxy targeting.
tags:
- Geo Targeting
parameters:
- name: country
in: query
required: false
description: Filter carriers by country code
schema:
type: string
responses:
'200':
description: List of available mobile carriers
content:
application/json:
schema:
$ref: '#/components/schemas/CarriersResponse'
'401':
description: Invalid API key
/v1/geo/isps:
get:
operationId: listWifiIsps
summary: List WiFi ISPs
description: Retrieve the list of available WiFi ISPs for residential proxy targeting.
tags:
- Geo Targeting
parameters:
- name: country
in: query
required: false
description: Filter ISPs by country code
schema:
type: string
responses:
'200':
description: List of available WiFi ISPs
content:
application/json:
schema:
$ref: '#/components/schemas/IspsResponse'
'401':
description: Invalid API key
components:
securitySchemes:
APIKeyHeader:
type: apiKey
in: header
name: api-key
description: Your SOAX API key from the Profile tab in your dashboard
schemas:
IpListResponse:
type: object
properties:
slots:
type: array
description: List of IP whitelist slots
items:
$ref: '#/components/schemas/IpSlot'
IpSlot:
type: object
properties:
slot:
type: integer
description: Slot number
ip:
type: string
description: Whitelisted IP address
comment:
type: string
description: Label/name for this slot
UpdateIpRequest:
type: array
description: Array of IP slot updates
items:
type: object
required:
- ip
- slot
properties:
ip:
type: string
description: IP address to whitelist
example: "203.0.113.10"
slot:
type: integer
description: Slot number to assign the IP to
example: 1
comment:
type: string
description: Label for this IP slot
example: "Office IP"
DetachIpRequest:
type: array
description: Array of slots or IPs to detach
items:
type: object
properties:
slot:
type: integer
description: Slot number to clear
ip:
type: string
description: IP address to detach
IpOperationResponse:
type: object
properties:
success:
type: boolean
description: Whether the operation succeeded
message:
type: string
description: Human-readable result message
slots:
type: array
items:
$ref: '#/components/schemas/IpSlot'
CitiesResponse:
type: object
properties:
cities:
type: array
items:
type: object
properties:
name:
type: string
description: City name
country:
type: string
description: Country code
region:
type: string
description: Region/state
proxy_count:
type: integer
description: Number of available proxies in this city
RegionsResponse:
type: object
properties:
regions:
type: array
items:
type: object
properties:
name:
type: string
description: Region/state name
country:
type: string
description: Country code
proxy_count:
type: integer
description: Number of available proxies in this region
CarriersResponse:
type: object
properties:
carriers:
type: array
items:
type: object
properties:
name:
type: string
description: Mobile carrier name
country:
type: string
description: Country code
proxy_count:
type: integer
description: Number of available mobile proxies for this carrier
IspsResponse:
type: object
properties:
isps:
type: array
items:
type: object
properties:
name:
type: string
description: ISP name
country:
type: string
description: Country code
proxy_count:
type: integer
description: Number of residential proxies available for this ISP