Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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. 

Table of Contents

Creating an IP Address List

SDK

Use tab completion with SDK to auto-complete function names or show field options!


Code Block
languagepy
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 9

REST API

POST /api/v0/ip_lists

Headers

Code Block
Content-Type application/json
Authorization "yourAuthToken"

...

Code Block
{
    "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

Code Block
languagepy
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>

...

Code Block
{
    "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

Code Block
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]: print add.ok
True
  • Please note that only valid IP addresses will save to list

REST API

POST /api/v0/ip_lists/<id>/ips/bulk_create

...

Code Block
{"created": True}

Add

...

IPs to an Address list from a File

Appends ip addresses in the csv file to the list

SDK

Code Block
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
True

...

Code Block
{"created": True}


Replace Entire IP Address List

SDK

Code Block
In [1]:  ip_list = springserve.ip_lists.get(9)

In [2]:  addreplaced = ip_list.bulk_replace(['158.106.194.76', '158.106.194.80'])

In [3]: print addreplaced.ok
True

REST API

POST /api/v0/ip_lists/<id>ips/bulk_replace

...

Replaces ip list with the ip addresses in the csv file

SDK

Code Block
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]: print replaced.ok
True

...

Code Block
{"created": True}


Get IP Addresses in a IP Address List

SDK

Code Block
In [15]: resp = ip_list.get_ips() 

In [16]: for ip in resp:
   ....:     print ip.ip
   ....:     
158.106.194.74
158.106.194.75

REST API

GET /api/v0/ip_lists/<id>/ips

...

Response (note you need to pagenatepaginate)

Status code 200

Code Block
{
	"ip": "158.106.194.74"
    "ip": "158.106.194.75"
 }

Remove IP Addresses

SDK

Code Block
 In [13]: ip_list = springserve.ip_lists.get(9)

 In [14]: resp = ip_list.bulk_replace([''])


 In [15]: resp.ok
 Out [15]: True

REST API

DELETE /api/v0/ip_lists/<id>/ips/bulk_delete

...


Code Block
{
	"ip": "158.106.194.74"
    "ip": "158.106.194.75"
 }

Response (note you need to pagenate)

Status code 200

Code Block
{"deleted": True}


Remove IP Addresses using a File

Removes IP addreses addresses in the csv file from the list

...

Code Block
{"deleted": 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

Code Block
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