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 | ||
|---|---|---|
| ||
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 | ||
|---|---|---|
| ||
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)
{...
" |
...
}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
| 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