IP Address Lists API
IP Address lists can be created, edited and viewed using the api. When you have created an IP Address list, you can attach that list to a demand or supply tag for targeting.
- 1 Creating an IP Address List
- 2 Get an IP Address List
- 3 Add IPs to an Address list
- 4 Add IPs to an Address list from a File
- 5 Replace Entire IP Address List
- 6 Replace Entire IP List with File
- 7 Get IP Addresses in a IP Address List
- 8 Remove specific IP Addresses
- 9 Remove IP Addresses using a File
- 10 Delete all ip addresses in a list
- 10.1 SDK
- 11 Attach to a Demand or Supply Tag
Creating an IP Address List
SDK
Use tab completion with SDK to auto-complete function names or show field options!
In [1]: import springserve
In [2]: ip_list = springserve.ip_lists.new({"name":"My Test IP List"})
In [3]: print ip_list.ok, ip_list.id
True 9REST API
POST /api/v0/ip_lists
Headers
Content-Type application/json
Authorization "yourAuthToken"Body (example)
"description": "My description"
|
Required parameters: name
Response
Status code 200
{
"id": 6,
"account_id": 1,
"name": "My IP List",
"description": "My description",
"active": true,
"created_at": "2018-08-08T21:06:09.923Z"
}Get an IP Address List
SDK
In [1]: ip_list = springserve.ip_lists.get(9)
In [2]: print ip_list.name
"My Test IP List"REST API
GET /api/v0/ip_lists/<id>
Headers
Content-Type application/json
Authorization "yourAuthToken"Response
Status code 200
{
"id": 6,
"account_id": 1,
"name": "My IP List",
"description": "My description",
"active": true,
"created_at": "2018-08-08T17:19:44.516Z"
}Add IPs to an Address list
SDK
In [1]: ip_list = springserve.ip_lists.get(9)
In [2]: add = ip_list.bulk_create(['158.106.194.74', '158.106.194.75'])
In [3]: add.ok
Out [3]: TruePlease note that only valid IP addresses will save to list
REST API
POST /api/v0/ip_lists/<id>/ips/bulk_create
Headers
Content-Type application/json
Authorization "yourAuthToken"Body (example)
{
"ips": ["158.106.194.74", "158.106.194.75"]
}
Response
Status code 200
{"created": True}Add IPs to an Address list from a File
Appends ip addresses in the csv file to the list
SDK
In [1]: ip_list = springserve.ip_lists.get(9)
In [2]: add = ip_list.bulk_create(file_path='/<filepath>/appending_ip_list.csv')
In [3]: print add.ok
TruePlease note that only valid IP addresses will save to list
REST API
POST /api/v0/ip_lists/<id>/ips/file_bulk_create
curl --location --request POST 'https://console.springserve.com/api/v0/ip_lists/<id>/ips/file_bulk_create' \
--header 'Content-Type: application/json' \
--header 'Authorization: <yourAuthToken>' \
--form 'csv_file=@"/<filepath>/appending_ip_list.csv"'Response
Status code 201
{"created": True}Replace Entire IP Address List
SDK
In [1]: ip_list = springserve.ip_lists.get(9)
In [2]: replaced = ip_list.bulk_replace(['158.106.194.76', '158.106.194.80'])
In [3]: replaced.ok
Out [3]: TrueREST API
POST /api/v0/ip_lists/<id>ips/bulk_replace
Headers
Content-Type application/json
Authorization "yourAuthToken"Body (example)
{
"ips": ["1.1.11.1", "1.0.11.1"]
}Response
Status code 201
{"created": True}Replace Entire IP List with File
Replaces ip list with the ip addresses in the csv file
SDK
In [1]: ip_list = springserve.ip_lists.get(9)
In [2]: replaced = ip_list.bulk_replace(file_path='/<filepath>/replacement_ip_list.csv')
In [3]: replaced.ok
Out [3]: TrueREST API
POST /api/v0/ip_lists/<id>/ips/file_bulk_replace
curl --location --request POST 'https://console.springserve.com/api/v0/ip_lists/<id>/ips/file_bulk_replace' \
--header 'Content-Type: application/json' \
--header 'Authorization: <yourAuthToken>' \
--form 'csv_file=@"/<filepath>/replacement_ip_list.csv"'Response
Status code 201
{"created": True}Get IP Addresses in a IP Address List
SDK
In [1]: ip_list = springserve.ip_lists.get(9)
In [2]: resp = ip_list.get_list()
In [3]: for ip in resp:
....: print ip.ip
....:
158.106.194.74
158.106.194.75REST API
GET /api/v0/ip_lists/<id>/ips
Headers
Content-Type application/json
Authorization "yourAuthToken"
Response (note you need to paginate)
Status code 200
{
"ip": "158.106.194.74"
"ip": "158.106.194.75"
}Remove specific IP Addresses
SDK
In [13]: ip_list = springserve.ip_lists.get(9)
In [14]: del = ip_list.bulk_delete(['158.106.194.74','158.106.194.76'])
In [15]: del.ok
Out [15]: True
REST API
DELETE /api/v0/ip_lists/<id>/ips/bulk_delete
Headers
Content-Type application/json
Authorization "yourAuthToken"Body (example) where "1" and "2" are the numeric
{
"ip": "158.106.194.74"
"ip": "158.106.194.75"
}
Response (note you need to pagenate)
Status code 200
{"deleted": True}Remove IP Addresses using a File
Removes IP addresses in the csv file from the list
SDK
In [13]: ip_list = springserve.ip_lists.get(9)
In [14]: del = ip_list.bulk_delete(file_path='/<filepath>/ips_to_delete.csv')
In [15]: del.ok
Out [15]: True
REST API
DELETE /api/v0/ip_lists/<id>/ips/file_bulk_delete
curl --location --request POST 'https://console.springserve.com/api/v0/ip_lists/<id>/ips/file_bulk_delete' \
--header 'Content-Type: application/json' \
--header 'Authorization: <yourAuthToken>' \
--form 'csv_file=@"/<filepath>/delete_these_ips.csv"'Response
Status code 200
{"deleted": True}Delete all ip addresses in a list
SDK
In [13]: ip_list = springserve.ip_lists.get(9)
In [14]: resp = ip_list.bulk_replace([''])
In [15]: resp.ok
Out [15]: True
Attach to a Demand or Supply Tag
To attach an ip list to a supply or demand tag you must set the following fields on a supply or demand tag
ip_list_ids → this is a list of ip list ids that you want to target on the supply or demand tag
ip_targeting → Whether or not to treat it like an 'Allowlist' or 'Blocklist'
SDK
In [18]: tag = springserve.demand_tags.get(2)
In [19]: tag.ip_list_ids.append(9)
In [20]: tag.ip_targeting = "Allowlist"
In [21]: print tag.save().ok
True
REST API
See documentation on the Supply and Demand Tag APIs