App name lists can be created, edited and viewed using the api. When you have created an app name list, you can attach that list to a demand or supply tag for targeting.
Table of Contents
Creating an App Name List
SDK
Use tab completion with SDK to auto-complete function names or show field options!
| Code Block | ||
|---|---|---|
| ||
In [1]: import springserve
In [2]: app_name_list = springserve.app_name_lists.new({"name":"My Test App Name List"})
In [3]: print app_name_list.ok, app_name_list.id
True 12 |
REST API
POST /api/v0/app_name_lists
Headers
| Code Block |
|---|
Content-Type application/json Authorization "yourAuthToken" |
...
| Code Block |
|---|
{
"account_id": 1,
"active": True,
"created_at": "2018-02-20T14:05:34.029Z",
"description": "My description",
"id": 12,
"name": "My Test App Name List",
"partial_match": False
} |
Get an App Name List
SDK
| Code Block | ||
|---|---|---|
| ||
In [1]: app_name_list = springserve.app_name_lists.get(12) In [2]: print app_name_list.name "My Test App Name List" |
REST API
GET /api/v0/app_name_lists/<id>
...
| Code Block |
|---|
{
"account_id": 1,
"active": True,
"created_at": "2018-02-20T14:05:34.029Z",
"description": "My description",
"id": 12,
"name": "My Test App Name List",
"partial_match": False
} |
Add App Names
SDK
| Code Block |
|---|
In [1]: app_name_list = springserve.app_lists.get(12) In [2]: add = app_name_list.add_names(['app1', 'app2']) In [3]: print add.ok True |
REST API
POST /api/v0/app_name_lists/<id>/app_names/bulk_create
...
| Code Block |
|---|
{"created": True} |
Add App Names from a File
Appends app names in the csv file to the list
REST API
POST /api/v0/app_name_lists/<id>/app_names/file_bulk_create
|
Response
Status code 201
|
Replace Entire App Name List
REST API
POST /api/v0/app_name_lists/<id>/app_names/bulk_replace
Headers
|
Body (example)
|
Response
Status code 201
|
Replace Entire App Name List with a File
Replaces app name list with the app names in the csv file
REST API
POST /api/v0/app_name_lists/<id>/app_names/file_bulk_replace
|
Response
Status code 201
|
Get App Names in App Name List
SDK
| Code Block |
|---|
In [15]: resp = app_name_list.get_names() In [16]: for name in resp: ....: print name.app_name ....: app1 app2 |
REST API
GET /api/v0/app_name_lists/<id>/app_names
...
| Code Block |
|---|
[
{"app_name": "app1"},
{"app_name": "app2"}
] |
Remove App Names
SDK
| Code Block |
|---|
In [13]: app_name_list = springserve.app_name_lists.get(12) In [14]: resp = app_name_list.remove_names(['app2']) In [15]: resp.ok Out [15]: True In [16]: print resp.deleted True |
REST API
DELETE /api/v0/app_name_lists/<id>/app_names/bulk_delete
...
| Code Block |
|---|
{
"app_names": ["app2"]
}
|
Response (note you need to pagenate)
Status code 200
| Code Block |
|---|
{"deleted": True} |
Remove App Names Using a File
Removes app names in the csv file from the list
REST API
POST DELETE /api/v0/app_name_lists/<id>/app_names/file_bulk_delete
|
...
Status code 200
|
Attach to a Demand or Supply Tag
To attach an app name list to a supply or demand tag you must set the following fields on a supply or demand tag
- app_name_list_ids → this is a list of app name list ids that you want to target on the supply or demand tag
- app_name_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.app_name_list_ids.append(12) In [20]: tag.app_name_targeting = "Allowlist" In [21]: print tag.save().ok True |
REST API
See documentation on the Supply and Demand Tag APIs