> For the complete documentation index, see [llms.txt](https://docs.plainproxies.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plainproxies.com/api-documentation/proxy-management/proxies.md).

# Proxies

Proxy generation and IP list endpoints

## Generate proxy credentials

> Generates proxy credentials for a sub-user. Supports sticky and rotating sessions with various configuration options.

```json
{"openapi":"3.0.0","info":{"title":"PlainProxies User API","version":"1.0.0"},"tags":[{"name":"Proxies","description":"Proxy generation and IP list endpoints"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"API Key authentication. Get your key from the Dashboard Settings page.","name":"X-API-KEY","in":"header"}},"schemas":{"ProxyGenerateRequest":{"title":"Proxy Generation Request","description":"Request body for generating proxy credentials. The generated proxies use the specified sub-user's authentication. Supports various output formats and geo-targeting options. Country targeting is available for all proxy types. State and city targeting is only available for residential proxies — use the ASCII codes from the `/countries/residential` endpoint.","required":["sub_user_uuid","format"],"properties":{"sub_user_uuid":{"description":"UUID of the sub-user to generate proxies for. Must be an active sub-user owned by the authenticated user.","type":"string","format":"uuid"},"format":{"description":"Output format for proxy strings. Available formats: `{ip}:{port}:{user}:{pass}` (standard), `{user}:{pass}@{ip}:{port}` (URL-style), `{ip}:{port}` (IP-authenticated, requires whitelisted IPs).","type":"string","enum":["{user}:{pass}@{ip}:{port}","{ip}:{port}:{user}:{pass}","{ip}:{port}"]},"protocol":{"description":"Proxy protocol. HTTP is recommended for most use cases. SOCKS5 provides additional protocol support.","type":"string","default":"http","enum":["http","https","socks5"]},"country":{"description":"ISO 3166-1 alpha-2 country code for geo-targeting. Use the `/countries/{product}` endpoint to get available countries. Omit or pass `WW` for worldwide/random location.","type":"string","maxLength":2,"minLength":2},"state":{"description":"State/region code for geo-targeting (residential proxies only). Use the state code from the `/countries/residential` endpoint (e.g. `NY`, `CA`, `09`). Can be a string or numeric code depending on the country.","type":"string","maxLength":100},"city":{"description":"City ASCII code for geo-targeting (residential proxies only). Use the `ascii` value from the `/countries/residential` endpoint (e.g. `newyorkcity`, `losangeles`, `london`). Spaces are not allowed.","type":"string","maxLength":100},"session_type":{"description":"**rotating**: New IP on each request. **sticky**: Same IP for session_duration minutes.","type":"string","default":"rotating","enum":["rotating","sticky"]},"session_duration":{"description":"Session lifetime in minutes for sticky sessions. Maximum 43200 minutes (30 days). Ignored for rotating sessions.","type":"integer","default":10,"maximum":43200,"minimum":1},"quantity":{"description":"Number of proxy strings to generate.","type":"integer","default":10,"maximum":10000,"minimum":1}},"type":"object"}}},"paths":{"/proxies/generate":{"post":{"tags":["Proxies"],"summary":"Generate proxy credentials","description":"Generates proxy credentials for a sub-user. Supports sticky and rotating sessions with various configuration options.","operationId":"5bf47fd3f4020ef0e0fbbba80764847b","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxyGenerateRequest"}}}},"responses":{"200":{"description":"Proxies generated successfully","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean"},"data":{"properties":{"proxies":{"type":"array","items":{"type":"string"}}},"type":"object"}},"type":"object"}}}},"400":{"description":"Invalid request parameters"},"401":{"description":"Unauthorized"},"404":{"description":"Sub-user not found"},"429":{"description":"Rate limit exceeded"}}}}}}
```

## Get IP list for sub-user

> Returns the IP list for a datacenter or ISP sub-user. Only available for datacenter (DATA\_IPv4) and ISP proxy types. Shared ISP and datacenter plans return IPs grouped by country. Dedicated ISP plans return one object per IP carrying the port and credentials that address answers on: Some IPs each listen on their own port, which changes whenever the IP is swapped, so always connect with the port returned here.

```json
{"openapi":"3.0.0","info":{"title":"PlainProxies User API","version":"1.0.0"},"tags":[{"name":"Proxies","description":"Proxy generation and IP list endpoints"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"API Key authentication. Get your key from the Dashboard Settings page.","name":"X-API-KEY","in":"header"}},"schemas":{"DedicatedIspIp":{"title":"Dedicated ISP IP","description":"One IP of a dedicated ISP plan together with everything needed to connect through it. Some IPs listen on a port of their own that is reassigned whenever the IP is swapped, so the port returned here is the one to use.","required":["ip","port","http_port","socks5_port","username","password"],"properties":{"ip":{"type":"string"},"country":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"port":{"description":"HTTP/HTTPS port, retained for compatibility. Equivalent to http_port.","type":"integer"},"http_port":{"description":"Port for HTTP and HTTPS proxy connections. May equal socks5_port.","type":"integer"},"socks5_port":{"description":"Port for SOCKS5 proxy connections. Use this value directly; ports are not determined by country.","type":"integer"},"username":{"description":"Login that works for this IP.","type":"string"},"password":{"type":"string","nullable":true}},"type":"object"}}},"paths":{"/proxies/ip-list/{uuid}":{"get":{"tags":["Proxies"],"summary":"Get IP list for sub-user","description":"Returns the IP list for a datacenter or ISP sub-user. Only available for datacenter (DATA_IPv4) and ISP proxy types. Shared ISP and datacenter plans return IPs grouped by country. Dedicated ISP plans return one object per IP carrying the port and credentials that address answers on: Some IPs each listen on their own port, which changes whenever the IP is swapped, so always connect with the port returned here.","operationId":"ac963f7d860107ee6d92679ba7a5de6f","parameters":[{"name":"uuid","in":"path","description":"UUID of the sub-user","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"IP list retrieved successfully","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean"},"data":{"properties":{"ip_list":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/DedicatedIspIp"},{"properties":{"country":{"type":"string"},"city":{"type":"string"},"ips":{"type":"array","items":{"type":"string"}}},"type":"object"}]}},"total_ips":{"type":"integer"}},"type":"object"}},"type":"object"}}}},"400":{"description":"IP list only available for datacenter/ISP proxies"},"401":{"description":"Unauthorized"},"403":{"description":"Access denied to this sub-user"},"404":{"description":"Sub-user not found"}}}}}}
```
