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!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"

Body (example)


{
  "name": "My IP List",
    "description": "My description"
}


Required parameters: name

Response

Status code 200

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]: import springserve
 
In [2]: ip_list = springserve.ip_lists.new({"name":"My Test IP List"}get(9)
 
In [32]: print ip_list.ok, ip_list.id
True 9name
"My Test IP List"

REST API

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

Headers

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

Body (example)

{

...

"

...

    "description": "My description"
}

Required parameters: name

Response

Status code 200

Code Block
{
    "id": 6,
    "account_id": 1,
    "name": "My IP List",
    "description": "My description",
    "active": true,
    "created_at": "2018-08-08T2108T17:0619:0944.923Z516Z"
}

...

Add IPs to an Address list

SDK

language
Code Block
py
In [1]:  ip_list = springserve.ip_lists.get(9)
 
In [2]: print ip_list.name
"My Test IP List"

REST API

...

 = 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]: True
  • Please note that only valid IP addresses will save to list

REST API

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

Headers

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

Response

Status code 200

Code Block
{
    "id": 6,
    "account_id": 1,
    "name": "My IP List", application/json
Authorization "yourAuthToken"

Body (example)

Code Block
{
    "descriptionips": "My description["158.106.194.74",
    "active": true,
    "created_at": "2018-08-08T17:19:44.516Z"
"158.106.194.75"]
}

Response

Status code 200

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(['158.106.194.74', '158.106.194.75'])

file_path='/<filepath>/appending_ip_list.csv')
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/file_bulk_create

Code Block
curl --location --request POST 'https://console.springserve.com/api/v0/ip_lists/<id>/ips/file_bulk_create

...

Headers

Code Block
' \
--header 'Content-Type: application/json' Authorization "yourAuthToken"

Body (example)

Code Block
{
    "ips": ["158.106.194.74", "158.106.194.75"]
}

\
--header 'Authorization: <yourAuthToken>' \
--form 'csv_file=@"/<filepath>/appending_ip_list.csv"'

Response

Status code 200201

Code Block
{"created": True}

Add IPs to an Address list from a File

...

Replace Entire IP Address List

SDK

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

In [2]:  addreplaced = ip_list.bulk_create(file_path='/<filepath>/appending_ip_list.csv')
replace(['158.106.194.76', '158.106.194.80'])
In [3]: print addreplaced.ok
True

...


Out [3]: True

REST API

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

...

Headers

Code Block
Content-Type: application/json'
\
--header 'Authorization: <yourAuthToken>' \
--form 'csv_file=@"/<filepath>/appending_ip_list.csv"'Authorization "yourAuthToken"

Body (example)

Code Block
{
"ips": ["1.1.11.1", "1.0.11.1"]
}

Response
Status code 201

Code Block
{"created": True}

Replace Entire IP

...

List with File

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(['158.106.194.76', '158.106.194.80'])
file_path='/<filepath>/replacement_ip_list.csv')
In [3]: print replaced.ok
True

REST API

...

Out [3]: True

REST API

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

Code Block
curl --location --request POST 'https://console.springserve.com/api/v0/ip_lists/<id>/

...

ips/file_bulk_replace

...

Headers

Code Block
' \
--header 'Content-Type: application/json' Authorization "yourAuthToken"

Body (example)

Code Block
{
"ips": ["1.1.11.1", "1.0.11.1"]
}\
--header 'Authorization: <yourAuthToken>' \
--form 'csv_file=@"/<filepath>/replacement_ip_list.csv"'

Response

Status code 201

Code Block
{"created": True}

Replace Entire IP List with File

Replaces ip list with the ip addresses in the csv file

Get IP Addresses in a IP Address List

SDK

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

In [2]:  replacedresp = ip_list.bulkget_replace(file_path='/<filepath>/replacement_ip_list.csv')list() 

In [3]: for ip in resp:
  print replaced.ok
True

REST API

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

Code Block
curl --location --request POST 'https://console.springserve.com....:     print ip.ip
   ....:     
158.106.194.74
158.106.194.75

REST API

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

...

Headers

Code Block
Content-Type: application/json' \
--header
'Authorization: <yourAuthToken>' \
--form 'csv_file=@"/<filepath>/replacement_ip_list.csv"'

Response

...

"yourAuthToken"


Response (note you need to paginate)

Status code 200

Code Block
{
	"createdip": 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"
    "ip": "158.106.194.75"
 }

Remove specific IP Addresses

SDK

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

 In [14]: del = ip_list.bulk_delete(['158.106.194.74
','158.106.194.75.76'])
 In [15]: del.ok
 Out [15]: True

REST API

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

Headers

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

Response (note you need to paginate)

Status code 200Body (example) where "1" and "2" are the numeric 


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 addresses in the csv file from the list

SDK

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

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


 ip_list.bulk_delete(file_path='/<filepath>/ips_to_delete.csv')
 In [15]: respdel.ok
 Out [15]: True

REST API

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

Code Block
curl --location --request POST 'https://console.springserve.com/api/v0/ip_lists/<id>/ips/file_bulk_delete

...

Headers

Code Block
' \
--header 'Content-Type: application/json
Authorization "yourAuthToken"

Body (example) where "1" and "2" are the numeric 

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

...

' \
--header 'Authorization: <yourAuthToken>' \
--form 'csv_file=@"/<filepath>/delete_these_ips.csv"'

Response

Status code 200

Code Block
{"deleted": True

...

Remove IP Addresses using a File

Removes IP addresses in the csv file from the list

REST API

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

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

Code Block
{"deleted": True}}

Delete all ip addresses in a list

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

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