### GET /usage/summary Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /usage/summary ```markdown ### Parameters - **period** (string (today|week|month|all), query, optional) ### Responses #### 200 - Usage summary ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/usage/summary?period=month" ``` ``` -------------------------------- ### GET /usage/plans/{planId} Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /usage/plans/{planId} ```markdown ### Parameters - **planId** (string (uuid), path, required) - **granularity** (string (hourly|daily|weekly), query, optional) ### Responses #### 200 - Detailed usage Empty response body ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/usage/plans/{planId}?granularity=daily" ``` ``` -------------------------------- ### GET /servers/{planId}/monitoring Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /servers/{planId}/monitoring ```markdown ### Parameters - **planId** (string (uuid), path, required) ### Responses #### 200 - Monitoring info Empty response body ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/servers/{planId}/monitoring" ``` ``` -------------------------------- ### GET /proxies/pools Source: https://rapi.flashproxy.com/openapi.json Returns available ISP and subnet pools for the dedicated_isp product. This is the first step in the Dedicated ISP purchase flow. ## Dedicated ISP Purchase Flow 1. **GET /proxies/pools** - List available pools and check stock 2. **POST /plans** - Create plan with `product: dedicated_isp`, `quantity`, and `pool` 3. **GET /plans/{planId}/proxies** - Retrieve your static IP list ## Pool Types - **ISP pools** (`type=isp`): Standard ISP IPs for general use - **Subnet pools** (`type=subnet`): /24 subnet blocks for advanced use cases ```markdown ### Parameters - **type** (string (isp|subnet), query, optional): Filter by pool type - **country** (string, query, optional): Filter by country code (e.g., US, UK, DE) ### Responses #### 200 - Pool list retrieved **PoolListResponse** - **success** (boolean) - **data** (object) - **pools** (array (Pool)) Array items: - **pool** (string) (required): Pool identifier to use when creating a plan (example: "ISP_US_SNEAKERS") - **inStock** (boolean) (required): Whether the pool has available stock - **stock** (integer) (required): Number of available IPs in the pool - **title** (string) (required): Human-readable pool name (example: "US Sneakers ISP") - **provider** (string (ISP|SN)) (required): Pool type: ISP for standard pools, SN for subnet pools ("ISP"|"SN") - **isSubnet** (boolean): Whether this is a subnet pool (/24 blocks) - **total** (integer): Total number of pools returned - **in_stock_count** (integer): Number of pools with available stock #### 401 - response #### 403 - Product disabled ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/proxies/pools?type=isp&country=string" ``` ``` -------------------------------- ### GET /plans/{planId} Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /plans/{planId} ```markdown ### Parameters - **planId** (string (uuid), path, required) ### Responses #### 200 - Plan retrieved **PlanResponse** - **success** (boolean) - **data** (object) - **plan_id** (string (uuid)): Unique plan ID - **product** (string (residential-lite|residential|mobile|datacenter|shared_isp|ipv6-residential|ipv6-datacenter|pool1|pool2|pool3|pool4|pool5|unlimited_residential|dedicated_mobile|dedicated_isp)): Product type ("residential-lite"|"residential"|"mobile"|"datacenter"|"shared_isp"|"ipv6-residential"|"ipv6-datacenter"|"pool1"|"pool2"|"pool3"|"pool4"|"pool5"|"unlimited_residential"|"dedicated_mobile"|"dedicated_isp") - **billing_type** (string (bandwidth|time)): Billing method ("bandwidth"|"time") - **proxy_username** (string): Proxy authentication username - **proxy_password** (string): Proxy authentication password - **connection** (object): Connection details - **hostname** (string): Proxy server hostname - **port_http** (integer): HTTP port - **port_socks** (integer): SOCKS5 port - **format** (string): Ready-to-use connection string - **limits** (object): Usage limits - **max_gb** (number): Max GB (null = unlimited) - **max_bytes** (integer (int64)) - **bytes_used** (integer (int64)): Bytes consumed - **bandwidth_mbps** (integer): Mbps cap - **location** (string): Location (dedicated_mobile) - **expires_at** (string (date-time)) - **status** (string (active|expired|cancelled)) ("active"|"expired"|"cancelled") - **created_at** (string (date-time)) - **billing** (object) - **mode** (string) - **price_per_gb_cents** (integer) - **cost_cents** (integer) - **cost_formatted** (string) - **end_user_reference** (string) #### 404 - response ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/plans/{planId}" ``` ``` -------------------------------- ### GET /proxies/connection-info Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /proxies/connection-info ```markdown ### Responses #### 200 - Connection info ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/proxies/connection-info" ``` ``` -------------------------------- ### GET /plans Source: https://rapi.flashproxy.com/openapi.json Returns a paginated list of all your proxy plans. ```markdown ### Parameters - **page** (integer, query, optional) - **per_page** (integer, query, optional) - **status** (string (active|expired|cancelled|all), query, optional) - **product** (string (residential-lite|residential|mobile|datacenter|shared_isp|ipv6-residential|ipv6-datacenter|pool1|pool2|pool3|pool4|pool5|unlimited_residential|dedicated_mobile|dedicated_isp), query, optional) ### Responses #### 200 - Plans retrieved ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/plans?page=1&per_page=20&status=all&product=residential-lite" ``` ``` -------------------------------- ### POST /plans Source: https://rapi.flashproxy.com/openapi.json Create a new proxy plan. Required parameters vary by product type. ## Product Requirements ### Bandwidth Products (residential-lite, residential, mobile) - Required: `product`, `bandwidth_gb` ### Hybrid Products (datacenter, shared_isp, ipv6_*) - Required: `product`, `billing_type` - If bandwidth: `bandwidth_gb` - If time: `duration`, `mbps` ### Unlimited Residential - Trial: `product`, `duration: "trial"` - Full: `product`, `duration`, `bandwidth_mbps` ### Dedicated Mobile - Required: `product`, `duration`, `location` - Check stock first! ### Dedicated ISP (Static IPs) - Required: `product`, `quantity`, `pool` - **Step 1**: Call `GET /proxies/pools` to see available pools and stock - **Step 2**: Create plan with pool name and quantity - **Step 3**: Call `GET /plans/{planId}/proxies` to get your static IPs - Pricing: Per-IP for 30-day periods (see `price_per_ip_30_days` in your pricing) ```markdown ### Request Body **Content-Type:** application/json - **product** (string (residential-lite|residential|mobile|datacenter|shared_isp|ipv6-residential|ipv6-datacenter|pool1|pool2|pool3|pool4|pool5|unlimited_residential|dedicated_mobile|dedicated_isp)) (required): Product type to purchase ("residential-lite"|"residential"|"mobile"|"datacenter"|"shared_isp"|"ipv6-residential"|"ipv6-datacenter"|"pool1"|"pool2"|"pool3"|"pool4"|"pool5"|"unlimited_residential"|"dedicated_mobile"|"dedicated_isp") - **bandwidth_gb** (number): GB to purchase (required for bandwidth products) - **duration** (string (trial|1_hour|1_day|7_days|14_days|30_days|60_days|90_days)): Plan duration (required for time products). 1_hour available for datacenter, shared_isp, ipv6-residential, ipv6-datacenter (priced at 1/8 of daily rate). trial only for unlimited_residential. ("trial"|"1_hour"|"1_day"|"7_days"|"14_days"|"30_days"|"60_days"|"90_days") - **billing_type** (string (bandwidth|time)): Billing type (required for hybrid products) ("bandwidth"|"time") - **mbps** (integer): Mbps for time-billed hybrid products - **bandwidth_mbps** (integer): Bandwidth cap in Mbps for unlimited_residential (non-trial). Range: 200-3000. Hourly plans capped at 200. - **location** (string (NL|UK)): Location for dedicated_mobile (check stock first!) ("NL"|"UK") - **quantity** (integer): Number of IPs to purchase (required for dedicated_isp) - **pool** (string): Pool name from GET /proxies/pools (required for dedicated_isp). Example: ISP_US_SNEAKERS - **end_user_reference** (string): Your reference ID ### Responses #### 201 - Plan created #### 400 - Validation error #### 402 - Insufficient balance #### 403 - Product disabled #### 409 - Out of stock ### Example Usage ```bash curl -X POST "https://rapi.flashproxy.com/api/v1/plans" \ -H "Content-Type: application/json" \ -d '{ "product": "residential-lite", "bandwidth_gb": "0", "duration": "trial", "billing_type": "bandwidth", "mbps": "0", "bandwidth_mbps": "0", "location": "NL", "quantity": "0", "pool": "string", "end_user_reference": "string" }' ``` ``` -------------------------------- ### GET /plans/{planId}/usage Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /plans/{planId}/usage ```markdown ### Parameters - **planId** (string (uuid), path, required) ### Responses #### 200 - Usage retrieved ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/plans/{planId}/usage" ``` ``` -------------------------------- ### GET /usage/realtime Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /usage/realtime ```markdown ### Responses #### 200 - Real-time usage Empty response body ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/usage/realtime" ``` ``` -------------------------------- ### API Overview: FlashProxy Reseller API Source: https://rapi.flashproxy.com/openapi.json # FlashProxy Reseller API - Complete Documentation This is the complete API documentation for the FlashProxy Reseller API. Use this specification to build proxy reselling platforms, automate proxy management, or integrate FlashProxy services into your applications. ## Base URL - **Production**: `https://rapi.flashproxy.com/api/v1` - **Development**: `http://localhost:3000/api/v1` - **Sandbox**: `https://rapi.flashproxy.com/sandbox/api/v1` ## Authentication All API requests require authentication via Bearer token. Include your API key in the `Authorization` header: ``` Authorization: Bearer fp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ``` API keys start with `fp_live_` for production or `fp_test_` for sandbox mode. ## Rate Limiting - Default: 100 requests per minute per API key - Burst: Up to 20 concurrent requests ## Error Codes | Code | HTTP Status | Description | |------|-------------|-------------| | `VALIDATION_ERROR` | 400 | Invalid request parameters | | `UNAUTHORIZED` | 401 | Invalid or missing API key | | `INSUFFICIENT_BALANCE` | 402 | Not enough balance | | `FORBIDDEN` | 403 | Account suspended | | `PRODUCT_DISABLED` | 403 | Product not enabled for account | | `NOT_FOUND` | 404 | Resource not found | | `INVALID_POOL` | 400 | Invalid pool name (dedicated_isp) | | `POOL_OUT_OF_STOCK` | 409 | Insufficient stock in pool (dedicated_isp) | | `OUT_OF_STOCK` | 409 | Product out of stock | | `RATE_LIMITED` | 429 | Too many requests | | `INTERNAL_ERROR` | 500 | Server error | --- ## Products Overview | Product | Billing | Use Case | |---------|---------|----------| | `residential-lite` | Per GB | High-volume scraping | | `residential` | Per GB | Premium scraping | | `mobile` | Per GB | Mobile targets | | `datacenter` | Per GB or Time | High-speed tasks | | `shared_isp` | Per GB or Time | ISP-grade IPs | | `ipv6-residential` | Per GB or Time | IPv6 targets | | `ipv6-datacenter` | Per GB or Time | IPv6 datacenter | | `pool1` | Per GB | Residential Pool 1 | | `pool2` | Per GB | Residential Pool 2 | | `pool3` | Per GB | Residential Pool 3 | | `pool4` | Per GB | Residential Pool 4 | | `pool5` | Per GB | Residential Pool 5 | | `unlimited_residential` | Per Time | Unlimited bandwidth | | `dedicated_mobile` | Per Time | Dedicated 4G/5G | | `dedicated_isp` | Per IP (30 days) | Static ISP IPs | --- ## Proxy Connection Formats ### Residential Lite - HTTP: `lite.proxyserver.bot:6969` - SOCKS5: `lite.proxyserver.bot:9696` ### Residential / Mobile - HTTP: `geo.proxyserver.bot:8080` - SOCKS5: `geo.proxyserver.bot:1080` ### IPv6 Residential - HTTP: `USERNAME-package-ipv6:PASSWORD@v3-v6-resi.proxyserver.bot:30` - SOCKS5: `USERNAME-package-ipv6:PASSWORD@v3-v6-resi.proxyserver.bot:31` ### IPv6 Datacenter - HTTP: `USERNAME:PASSWORD@v3-v6-dc.proxyserver.bot:50` - SOCKS5: `USERNAME:PASSWORD@v3-v6-dc.proxyserver.bot:51` ### Residential Pool 1–5 - HTTP: `USERNAME-package-poolN:PASSWORD@v3-resi-us.proxyserver.bot:10000` (ports 10000–10009) - SOCKS5: `USERNAME-package-poolN:PASSWORD@v3-resi-us.proxyserver.bot:11000` (ports 11000–11009) Multiple ports available for load distribution — all identical. ### Unlimited Residential - HTTP/SOCKS5: `unlim.proxyserver.bot:12000` - Username format: `{username}-zone-custom[-region-{CC}][-session-{ID}-sessTime-{MIN}-sessAuto-1]` ### Dedicated Mobile - HTTP/SOCKS5: `:` --- ## Residential Pool Targeting Each pool (pool1–pool5) has different geo-targeting and session features. Targeting is appended after `-package-poolN` in the username. ### Per-Pool Feature Comparison | Feature | Pool 1 | Pool 2 | Pool 3 | Pool 4 | Pool 5 | |---------|:------:|:------:|:------:|:------:|:------:| | Country | Yes | Yes | Yes | Yes | Yes | | State | US (full name) | Full name | `us_` prefix | 2-letter | US (full name) | | City | US (needs state) | Yes | Yes | Yes | Non-US direct; US needs state | | ASN | Yes | No | Yes | Yes | No | | ZIP | No | No | US only | No | No | | Session | Yes | Yes | Yes | Yes | Yes | | Max session | 24h (long) | 7 days | 24h | ~10 min | 2h | | Price/GB | $0.80 | $1.25 | $1.50 | $1.80 | $1.00 | ### Pool 1 Sessions Pool 1 uses `-time-short` or `-time-long` (not seconds): - **`-time-short`**: Random device from the **entire pool** — good for IP diversity, session may not last long - **`-time-long`**: Selects a **reliable device** optimized for stable sticky sessions up to 24 hours - Default (no `-time-`): short behavior ``` user-package-pool1-country-us-session-abc123-time-short # random device user-package-pool1-country-us-session-abc123-time-long # reliable device, up to 24h ``` ### Pools 2, 3, 5 Sessions Use `-time-`. Default is 1 hour if omitted. ``` user-package-pool2-country-us-session-abc123-time-600 # 10 minutes user-package-pool3-country-us-session-abc123-time-1800 # 30 minutes ``` ### Pool 4 Sessions Sessions last ~10 minutes. No duration control. ### Pool Examples | Pool | Example Username | |------|------------------| | Pool 1 (US, long session) | `user-package-pool1-country-us-session-abc-time-long` | | Pool 2 (DE, Berlin) | `user-package-pool2-country-de-city-berlin` | | Pool 3 (US, ZIP) | `user-package-pool3-country-us-zip-10001` | | Pool 4 (US, state CA) | `user-package-pool4-country-us-state-ca` | | Pool 5 (GB, London) | `user-package-pool5-country-gb-city-london` | --- ## Geo Targeting Username Format ``` {username}-country-{CC}-state-{STATE}-city-{CITY}-session-{ID} ``` Examples: - `user123-country-us` (United States) - `user123-country-us-state-california` (California — full name for residential/mobile/pools 1,2,5. Pool 3: `-state-us_california`. Pool 4: `-state-ca`) - `user123-country-us-session-abc123` (Sticky session) ```yaml # FlashProxy Reseller API # Version: 2.1.0 # FlashProxy Reseller API - Complete Documentation This is the complete API documentation for the FlashProxy Reseller API. Use this specification to build proxy reselling platforms, automate proxy management, or integrate FlashProxy services into your applications. ## Base URL - **Production**: `https://rapi.flashproxy.com/api/v1` - **Development**: `http://localhost:3000/api/v1` - **Sandbox**: `https://rapi.flashproxy.com/sandbox/api/v1` ## Authentication All API requests require authentication via Bearer token. Include your API key in the `Authorization` header: ``` Authorization: Bearer fp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ``` API keys start with `fp_live_` for production or `fp_test_` for sandbox mode. ## Rate Limiting - Default: 100 requests per minute per API key - Burst: Up to 20 concurrent requests ## Error Codes | Code | HTTP Status | Description | |------|-------------|-------------| | `VALIDATION_ERROR` | 400 | Invalid request parameters | | `UNAUTHORIZED` | 401 | Invalid or missing API key | | `INSUFFICIENT_BALANCE` | 402 | Not enough balance | | `FORBIDDEN` | 403 | Account suspended | | `PRODUCT_DISABLED` | 403 | Product not enabled for account | | `NOT_FOUND` | 404 | Resource not found | | `INVALID_POOL` | 400 | Invalid pool name (dedicated_isp) | | `POOL_OUT_OF_STOCK` | 409 | Insufficient stock in pool (dedicated_isp) | | `OUT_OF_STOCK` | 409 | Product out of stock | | `RATE_LIMITED` | 429 | Too many requests | | `INTERNAL_ERROR` | 500 | Server error | --- ## Products Overview | Product | Billing | Use Case | |---------|---------|----------| | `residential-lite` | Per GB | High-volume scraping | | `residential` | Per GB | Premium scraping | | `mobile` | Per GB | Mobile targets | | `datacenter` | Per GB or Time | High-speed tasks | | `shared_isp` | Per GB or Time | ISP-grade IPs | | `ipv6-residential` | Per GB or Time | IPv6 targets | | `ipv6-datacenter` | Per GB or Time | IPv6 datacenter | | `pool1` | Per GB | Residential Pool 1 | | `pool2` | Per GB | Residential Pool 2 | | `pool3` | Per GB | Residential Pool 3 | | `pool4` | Per GB | Residential Pool 4 | | `pool5` | Per GB | Residential Pool 5 | | `unlimited_residential` | Per Time | Unlimited bandwidth | | `dedicated_mobile` | Per Time | Dedicated 4G/5G | | `dedicated_isp` | Per IP (30 days) | Static ISP IPs | --- ## Proxy Connection Formats ### Residential Lite - HTTP: `lite.proxyserver.bot:6969` - SOCKS5: `lite.proxyserver.bot:9696` ### Residential / Mobile - HTTP: `geo.proxyserver.bot:8080` - SOCKS5: `geo.proxyserver.bot:1080` ### IPv6 Residential - HTTP: `USERNAME-package-ipv6:PASSWORD@v3-v6-resi.proxyserver.bot:30` - SOCKS5: `USERNAME-package-ipv6:PASSWORD@v3-v6-resi.proxyserver.bot:31` ### IPv6 Datacenter - HTTP: `USERNAME:PASSWORD@v3-v6-dc.proxyserver.bot:50` - SOCKS5: `USERNAME:PASSWORD@v3-v6-dc.proxyserver.bot:51` ### Residential Pool 1–5 - HTTP: `USERNAME-package-poolN:PASSWORD@v3-resi-us.proxyserver.bot:10000` (ports 10000–10009) - SOCKS5: `USERNAME-package-poolN:PASSWORD@v3-resi-us.proxyserver.bot:11000` (ports 11000–11009) Multiple ports available for load distribution — all identical. ### Unlimited Residential - HTTP/SOCKS5: `unlim.proxyserver.bot:12000` - Username format: `{username}-zone-custom[-region-{CC}][-session-{ID}-sessTime-{MIN}-sessAuto-1]` ### Dedicated Mobile - HTTP/SOCKS5: `:` --- ## Residential Pool Targeting Each pool (pool1–pool5) has different geo-targeting and session features. Targeting is appended after `-package-poolN` in the username. ### Per-Pool Feature Comparison | Feature | Pool 1 | Pool 2 | Pool 3 | Pool 4 | Pool 5 | |---------|:------:|:------:|:------:|:------:|:------:| | Country | Yes | Yes | Yes | Yes | Yes | | State | US (full name) | Full name | `us_` prefix | 2-letter | US (full name) | | City | US (needs state) | Yes | Yes | Yes | Non-US direct; US needs state | | ASN | Yes | No | Yes | Yes | No | | ZIP | No | No | US only | No | No | | Session | Yes | Yes | Yes | Yes | Yes | | Max session | 24h (long) | 7 days | 24h | ~10 min | 2h | | Price/GB | $0.80 | $1.25 | $1.50 | $1.80 | $1.00 | ### Pool 1 Sessions Pool 1 uses `-time-short` or `-time-long` (not seconds): - **`-time-short`**: Random device from the **entire pool** — good for IP diversity, session may not last long - **`-time-long`**: Selects a **reliable device** optimized for stable sticky sessions up to 24 hours - Default (no `-time-`): short behavior ``` user-package-pool1-country-us-session-abc123-time-short # random device user-package-pool1-country-us-session-abc123-time-long # reliable device, up to 24h ``` ### Pools 2, 3, 5 Sessions Use `-time-`. Default is 1 hour if omitted. ``` user-package-pool2-country-us-session-abc123-time-600 # 10 minutes user-package-pool3-country-us-session-abc123-time-1800 # 30 minutes ``` ### Pool 4 Sessions Sessions last ~10 minutes. No duration control. ### Pool Examples | Pool | Example Username | |------|------------------| | Pool 1 (US, long session) | `user-package-pool1-country-us-session-abc-time-long` | | Pool 2 (DE, Berlin) | `user-package-pool2-country-de-city-berlin` | | Pool 3 (US, ZIP) | `user-package-pool3-country-us-zip-10001` | | Pool 4 (US, state CA) | `user-package-pool4-country-us-state-ca` | | Pool 5 (GB, London) | `user-package-pool5-country-gb-city-london` | --- ## Geo Targeting Username Format ``` {username}-country-{CC}-state-{STATE}-city-{CITY}-session-{ID} ``` Examples: - `user123-country-us` (United States) - `user123-country-us-state-california` (California — full name for residential/mobile/pools 1,2,5. Pool 3: `-state-us_california`. Pool 4: `-state-ca`) - `user123-country-us-session-abc123` (Sticky session) # Base URL: https://rapi.flashproxy.com/api/v1 ``` -------------------------------- ### GET /proxies/stock Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /proxies/stock ```markdown ### Responses #### 200 - Pool stats ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/proxies/stock" ``` ``` -------------------------------- ### GET /servers/{planId}/stats Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /servers/{planId}/stats ```markdown ### Parameters - **planId** (string (uuid), path, required) ### Responses #### 200 - Server stats ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/servers/{planId}/stats" ``` ``` -------------------------------- ### GET /plans/{planId}/proxies Source: https://rapi.flashproxy.com/openapi.json Retrieve the list of static IPs for a dedicated_isp plan. This is the final step in the Dedicated ISP purchase flow. ## Response Details - Returns individual proxy credentials with host, port, username, and password - The `full` field provides a ready-to-use connection string - The `source` field indicates whether data came from the provider (`provider`) or cache (`cached`) ## Notes - Only works for `dedicated_isp` product plans - Proxies are static and don't change for the duration of the plan - Plans are billed per-IP for 30-day periods ```markdown ### Parameters - **planId** (string (uuid), path, required): The plan ID returned when creating the dedicated_isp plan ### Responses #### 200 - Proxy list retrieved **ProxyListResponse** - **success** (boolean) - **data** (object) - **plan_id** (string (uuid)): The plan ID - **product** (string (dedicated_isp)): Product type (always dedicated_isp) ("dedicated_isp") - **proxies** (array (ProxyItem)): List of proxy credentials Array items: - **host** (string) (required): Proxy server hostname (example: "isp.proxyserver.bot") - **port** (integer) (required): Proxy port number (example: 10001) - **username** (string) (required): Proxy authentication username (example: "user_abc123") - **password** (string) (required): Proxy authentication password (example: "pass_xyz789") - **full** (string) (required): Ready-to-use proxy connection string (example: "user_abc123:pass_xyz789@isp.proxyserver.bot:10001") - **count** (integer): Total number of proxies in the plan - **source** (string (provider|cached)): Data source: 'provider' for fresh data, 'cached' if provider unavailable ("provider"|"cached") #### 400 - Invalid product type #### 401 - response #### 404 - response ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/plans/{planId}/proxies" ``` ``` -------------------------------- ### GET /servers/stock/unlimited-residential-trial Source: https://rapi.flashproxy.com/openapi.json Check if trial servers are available for unlimited residential trials. ```markdown ### Responses #### 200 - Trial availability ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/servers/stock/unlimited-residential-trial" ``` ``` -------------------------------- ### GET /sub-users Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /sub-users ```markdown ### Parameters - **page** (integer, query, optional) - **per_page** (integer, query, optional) - **status** (string (active|suspended|all), query, optional) ### Responses #### 200 - Sub-users list Empty response body ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/sub-users?page=1&per_page=20&status=all" ``` ``` -------------------------------- ### GET /balance/pricing Source: https://rapi.flashproxy.com/openapi.json Returns the pricing configured for your reseller account. ```markdown ### Responses #### 200 - Pricing retrieved ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/balance/pricing" ``` ``` -------------------------------- ### GET /proxies/{planId}/vpn-config Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /proxies/{planId}/vpn-config ```markdown ### Parameters - **planId** (string (uuid), path, required) - **format** (string (ovpn|wireguard), query, optional) ### Responses #### 200 - VPN config Empty response body ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/proxies/{planId}/vpn-config?format=ovpn" ``` ``` -------------------------------- ### Schema: ProxyListResponse Source: https://rapi.flashproxy.com/openapi.json Response for GET /plans/{planId}/proxies ```markdown ## Schema: ProxyListResponse Response for GET /plans/{planId}/proxies **Type:** object - **success** (boolean) - **data** (object) - **plan_id** (string (uuid)): The plan ID - **product** (string (dedicated_isp)): Product type (always dedicated_isp) ("dedicated_isp") - **proxies** (array (ProxyItem)): List of proxy credentials Array items: - **host** (string) (required): Proxy server hostname (example: "isp.proxyserver.bot") - **port** (integer) (required): Proxy port number (example: 10001) - **username** (string) (required): Proxy authentication username (example: "user_abc123") - **password** (string) (required): Proxy authentication password (example: "pass_xyz789") - **full** (string) (required): Ready-to-use proxy connection string (example: "user_abc123:pass_xyz789@isp.proxyserver.bot:10001") - **count** (integer): Total number of proxies in the plan - **source** (string (provider|cached)): Data source: 'provider' for fresh data, 'cached' if provider unavailable ("provider"|"cached") ``` -------------------------------- ### GET /servers/{planId}/ip Source: https://rapi.flashproxy.com/openapi.json Get actual IP of unlimited_residential server. Wait 30-60 seconds after purchase. ```markdown ### Parameters - **planId** (string (uuid), path, required) ### Responses #### 200 - Server IP #### 404 - Server provisioning ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/servers/{planId}/ip" ``` ``` -------------------------------- ### GET /balance Source: https://rapi.flashproxy.com/openapi.json Returns your account's current balance, pre-paid allocations, and spending statistics. ```markdown ### Responses #### 200 - Balance retrieved successfully **BalanceResponse** - **success** (boolean) - **data** (object) - **balance_cents** (integer): Balance in cents (example: 500000) - **balance_formatted** (string) (example: "$5,000.00") - **allocations** (object) - **residential** (object) - **gb_remaining** (number) - **bytes_remaining** (integer (int64)) - **residential-lite** (object) - **mobile** (object) - **total_spent_cents** (integer) - **total_spent_formatted** (string) #### 401 - response ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/balance" ``` ``` -------------------------------- ### GET /geo/asn Source: https://rapi.flashproxy.com/openapi.json Get ASNs for mobile targeting. Use: `user-country-US-asn-7922` ```markdown ### Parameters - **country_code** (string, query, required) - **product_type** (string, query, optional) ### Responses #### 200 - ASNs ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/geo/asn?country_code=string&product_type=mobile" ``` ``` -------------------------------- ### GET /sub-users/{id} Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /sub-users/{id} ```markdown ### Parameters - **id** (string, path, required) ### Responses #### 200 - Sub-user details Empty response body ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/sub-users/{id}" ``` ``` -------------------------------- ### GET /geo/countries Source: https://rapi.flashproxy.com/openapi.json Get countries for geo-targeting. Use in username: `user-country-US` ```markdown ### Parameters - **product_type** (string (residential|residential-lite|mobile|datacenter|shared_isp|ipv6-residential|ipv6-datacenter), query, required) ### Responses #### 200 - Countries ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/geo/countries?product_type=residential" ``` ``` -------------------------------- ### GET /plans/{planId}/usage-stats Source: https://rapi.flashproxy.com/openapi.json Returns aggregated monitor series for unlimited residential plans with provider shell credentials. Query: Unix seconds `from` and `to`, with `from < to` and window at most 30 days. Does not expose shell credentials or JWTs. Legacy unlimited residential (ThorData) plans return 400 NOT_SUPPORTED. ```markdown ### Parameters - **planId** (string (uuid), path, required) - **from** (integer, query, required): Range start (Unix seconds) - **to** (integer, query, required): Range end (Unix seconds) ### Responses #### 200 - Monitor metrics retrieved #### 400 - Validation, wrong product, or missing provider credentials for this plan type Validation, wrong product, or missing provider credentials for this plan type #### 401 - response #### 404 - response #### 502 - Upstream monitor API error Upstream monitor API error ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/plans/{planId}/usage-stats?from=0&to=0" ``` ``` -------------------------------- ### Schema: PoolListResponse Source: https://rapi.flashproxy.com/openapi.json Response for GET /proxies/pools ```markdown ## Schema: PoolListResponse Response for GET /proxies/pools **Type:** object - **success** (boolean) - **data** (object) - **pools** (array (Pool)) Array items: - **pool** (string) (required): Pool identifier to use when creating a plan (example: "ISP_US_SNEAKERS") - **inStock** (boolean) (required): Whether the pool has available stock - **stock** (integer) (required): Number of available IPs in the pool - **title** (string) (required): Human-readable pool name (example: "US Sneakers ISP") - **provider** (string (ISP|SN)) (required): Pool type: ISP for standard pools, SN for subnet pools ("ISP"|"SN") - **isSubnet** (boolean): Whether this is a subnet pool (/24 blocks) - **total** (integer): Total number of pools returned - **in_stock_count** (integer): Number of pools with available stock ``` -------------------------------- ### GET /balance/transactions Source: https://rapi.flashproxy.com/openapi.json Returns paginated list of all balance transactions. ```markdown ### Parameters - **page** (integer, query, optional) - **per_page** (integer, query, optional) - **type** (string (topup|purchase|extend|refund|adjustment|all), query, optional) ### Responses #### 200 - Transactions retrieved ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/balance/transactions?page=1&per_page=20&type=all" ``` ``` -------------------------------- ### GET /proxies/{planId}/ip-reset-link Source: https://rapi.flashproxy.com/openapi.json API endpoint for GET /proxies/{planId}/ip-reset-link ```markdown ### Parameters - **planId** (string (uuid), path, required) ### Responses #### 200 - Reset link ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/proxies/{planId}/ip-reset-link" ``` ``` -------------------------------- ### GET /geo/cities Source: https://rapi.flashproxy.com/openapi.json Get cities for geo-targeting. Use: `user-country-us-state-california-city-losangeles` (state format varies by pool) ```markdown ### Parameters - **product_type** (string, query, required) - **country_code** (string, query, required) - **state_code** (string, query, optional) ### Responses #### 200 - Cities ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/geo/cities?product_type=string&country_code=string&state_code=string" ``` ``` -------------------------------- ### Security: bearerAuth Source: https://rapi.flashproxy.com/openapi.json API key starting with `fp_live_` (production) or `fp_test_` (sandbox) ```markdown ## Security: bearerAuth **Description:** API key starting with `fp_live_` (production) or `fp_test_` (sandbox) **Type:** http **Scheme:** bearer **Bearer Format:** API_KEY ``` -------------------------------- ### GET /geo/states Source: https://rapi.flashproxy.com/openapi.json Get states for geo-targeting. Format varies by pool: `-state-california` (pools 1/2/5), `-state-us_california` (pool 3), `-state-ca` (pool 4) ```markdown ### Parameters - **product_type** (string, query, required) - **country_code** (string, query, required) ### Responses #### 200 - States ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/geo/states?product_type=string&country_code=string" ``` ``` -------------------------------- ### POST /servers/{planId}/rotate-ip Source: https://rapi.flashproxy.com/openapi.json Get new IP for dedicated mobile proxy. New IP in 10-30 seconds. ```markdown ### Parameters - **planId** (string (uuid), path, required) ### Responses #### 200 - Rotation initiated #### 400 - Invalid operation or rate limited ### Example Usage ```bash curl -X POST "https://rapi.flashproxy.com/api/v1/servers/{planId}/rotate-ip" ``` ``` -------------------------------- ### GET /servers/stock/dedicated-mobile Source: https://rapi.flashproxy.com/openapi.json Check availability of dedicated mobile proxies. Always check before purchasing! ```markdown ### Responses #### 200 - Stock info ### Example Usage ```bash curl -X GET "https://rapi.flashproxy.com/api/v1/servers/stock/dedicated-mobile" ``` ``` -------------------------------- ### POST /plans/{planId}/extend Source: https://rapi.flashproxy.com/openapi.json Add bandwidth or time to an existing plan. Accepted parameters depend on product type: residential/mobile/residential-lite accept add_bandwidth_gb; hybrid products (datacenter/shared_isp/ipv6) accept add_bandwidth_gb and/or add_days; unlimited_residential accepts add_days (1, 7, 30, or 60); dedicated_mobile accepts add_days (7, 14, or 30); dedicated_isp accepts extend_30_days. ```markdown ### Parameters - **planId** (string (uuid), path, required) ### Request Body **Content-Type:** application/json - **add_bandwidth_gb** (number): GB to add. For: residential-lite, residential, mobile, bandwidth-billed hybrid products. - **add_days** (integer): Days to add. For unlimited_residential: must be 1, 7, 30, or 60. For dedicated_mobile: must be 7, 14, or 30. For hybrid products: any positive integer. - **extend_30_days** (boolean): Set to true to extend dedicated_isp by 30 days. Cost = number_of_IPs × price_per_ip_30_days. ### Responses #### 200 - Plan extended #### 400 - response #### 402 - response #### 404 - response ### Example Usage ```bash curl -X POST "https://rapi.flashproxy.com/api/v1/plans/{planId}/extend" \ -H "Content-Type: application/json" \ -d '{ "add_bandwidth_gb": "0", "add_days": "0", "extend_30_days": "true" }' ``` ``` -------------------------------- ### POST /servers/{planId}/restart Source: https://rapi.flashproxy.com/openapi.json Restart unlimited_residential or dedicated_mobile server. 1-3 min downtime. ```markdown ### Parameters - **planId** (string (uuid), path, required) ### Responses #### 200 - Restart initiated ### Example Usage ```bash curl -X POST "https://rapi.flashproxy.com/api/v1/servers/{planId}/restart" ``` ``` -------------------------------- ### POST /plans/{planId}/upgrade Source: https://rapi.flashproxy.com/openapi.json API endpoint for POST /plans/{planId}/upgrade ```markdown ### Parameters - **planId** (string (uuid), path, required) ### Request Body **Content-Type:** application/json - **bandwidth_mbps** (integer): New bandwidth cap in Mbps ### Responses #### 200 - Plan upgraded Empty response body #### 400 - Invalid upgrade Invalid upgrade #### 402 - response ### Example Usage ```bash curl -X POST "https://rapi.flashproxy.com/api/v1/plans/{planId}/upgrade" \ -H "Content-Type: application/json" \ -d '{ "bandwidth_mbps": "0" }' ``` ``` -------------------------------- ### Schema: ExtendPlanRequest Source: https://rapi.flashproxy.com/openapi.json Extend a plan. Accepted parameters depend on product type: residential/mobile/residential-lite (add_bandwidth_gb), hybrid products (add_bandwidth_gb and/or add_days), unlimited_residential (add_days: 1/7/30/60), dedicated_mobile (add_days: 7/14/30), dedicated_isp (extend_30_days). ```markdown ## Schema: ExtendPlanRequest Extend a plan. Accepted parameters depend on product type: residential/mobile/residential-lite (add_bandwidth_gb), hybrid products (add_bandwidth_gb and/or add_days), unlimited_residential (add_days: 1/7/30/60), dedicated_mobile (add_days: 7/14/30), dedicated_isp (extend_30_days). **Type:** object - **add_bandwidth_gb** (number): GB to add. For: residential-lite, residential, mobile, bandwidth-billed hybrid products. - **add_days** (integer): Days to add. For unlimited_residential: must be 1, 7, 30, or 60. For dedicated_mobile: must be 7, 14, or 30. For hybrid products: any positive integer. - **extend_30_days** (boolean): Set to true to extend dedicated_isp by 30 days. Cost = number_of_IPs × price_per_ip_30_days. ```