Skip to content
Log In Sign up

Legacy Plans Management API

This page covers the management API for legacy port-based plans — grandfathered customers with a fixed range of ports rather than the traffic-based gateway. Use these endpoints to whitelist source IPs, set the per-port geo defaults, and pull the assigned port list.

All endpoints authenticate with an api_token query parameter. Generate a token in the panel under Account → API Tokens.

?api_token=YOUR_API_TOKEN

The {membership} path parameter accepts either the Membership ID shown on the plan page in the panel (for example 68057) or the short code from the plan’s URL (for example Rxqk).

Legacy plans authenticate by source IP only — whitelist the IPs your scrapers connect from.

GET https://shifter.io/api/v1/backconnect/{membership}/authorized-ips
ParameterInRequiredDescription
membershippathyesThe plan ID
api_tokenqueryyesYour account API token

Example:

Terminal window
curl "https://shifter.io/api/v1/backconnect/YOUR_PLAN_ID/authorized-ips?api_token=YOUR_API_TOKEN"

Response:

{
"ips": ["198.51.100.10", "203.0.113.42"]
}
PUT https://shifter.io/api/v1/backconnect/{membership}/authorized-ips

Replaces the list of authorized IPs with the values provided.

ParameterInRequiredDescription
membershippathyesThe plan ID
api_tokenqueryyesYour account API token
ips[]bodyyesArray of IPv4 addresses to whitelist

Example (form-encoded, with method override):

Terminal window
curl -X POST "https://shifter.io/api/v1/backconnect/YOUR_PLAN_ID/authorized-ips?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "_method=PUT&ips[]=198.51.100.10&ips[]=203.0.113.42"

Legacy ports have a per-plan geo assignment. Set it once and every port in the plan routes through IPs in the configured countries (or advanced filters).

GET https://shifter.io/api/v1/backconnect/{membership}/geo
ParameterInRequiredDescription
membershippathyesThe plan ID
api_tokenqueryyesYour account API token

Response:

{
"geo": ["us", "gb"],
"advanced_geo": []
}
PUT https://shifter.io/api/v1/backconnect/{membership}/geo
ParameterInRequiredDescription
membershippathyesThe plan ID
api_tokenqueryyesYour account API token
geo[]bodyyesArray of ISO-3166-1 alpha-2 country codes
advanced_geo[]bodynoArray of advanced geo filters (city or ASN)
Terminal window
curl -X POST "https://shifter.io/api/v1/backconnect/YOUR_PLAN_ID/geo?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "_method=PUT&geo[]=us&geo[]=uk&geo[]=ca"
GET https://shifter.io/api/v1/backconnect/{membership}/proxies

Returns the list of host:port entries for each port in your legacy plan.

ParameterInRequiredDescription
membershippathyesThe plan ID
api_tokenqueryyesYour account API token

Response:

{
"proxies": [
{ "host": "apollo.p.shifter.io", "port": 10001 },
{ "host": "zeus.p.shifter.io", "port": 10002 },
{ "host": "cronos.p.shifter.io", "port": 10003 }
]
}

Many proxy-aware HTTP clients strip non-standard methods. The management API accepts POST with a _method=PUT form field as equivalent to PUT.