App bundle lists can be created, App bundle lists can be created, edited and viewed using the api. When you have created an app bundle list, you can attach that list to a demand or supply tag for targeting.
Table of Contents
Creating an App Bundle 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_bundle_list = springserve.app_bundle_lists.new({"name":"My Test App Bundle List"}) In [3]: print app_bundle_list.ok, app_bundle_list.id True 9 |
REST API
POST /api/v0/app_bundle_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": 9, "name": "My Test App Bundle List", "partial_match": False } |
Get an App Bundle List
SDK
Code Block | ||
---|---|---|
| ||
In [1]: app_bundle_list = springserve.app_bundle_lists.get(9) In [2]: print app_bundle_list.name "My Test App Bundle List" |
REST API
GET /api/v0/app_bundle_lists/<id>
...
Code Block |
---|
{ "account_id": 1, "active": True, "created_at": "2018-02-20T14:05:34.029Z", "description": "My description", "id": 9, "name": "My Test App Bundle List", "partial_match": False } |
Add App Bundles
SDK
Code Block |
---|
In [1]: app_bundle_list = springserve.app_lists.get(9) In [2]: add = app_bundle_list.add_bundles(['app1', 'app2']) In [3]: print add.ok True |
REST API
POST /api/v0/app_bundle_lists/<id>/app_bundles/bulk_create
...
Code Block |
---|
{"created": True} |
Add App Bundles from a File
Appends app bundles in the csv file to the list
SDK
Code Block |
---|
In [1]: app_bundle_list = springserve.app_bundle_lists.get(<id>) In [2]: add = app_bundle_list.bulk_create(file_path='/<filepath>/app_bundle_list.csv') In [3]: add.ok Out [3]: True In [4]: print add.created True |
REST API
POST /api/v0/app_bundle_lists/<id>/app_bundles/file_bulk_create
Code Block |
---|
curl --location --request POST 'https://console.springserve.com/api/v0/app_bundle_lists/<id>/app_bundles/file_bulk_create' \ --header 'Content-Type: application/json' \ --header 'Authorization: <yourAuthToken>' \ --form 'csv_file=@"/<filepath>/appending_app_bundle_list.csv"' |
...
Code Block |
---|
{"created": True} |
Replace Entire App Bundle List
SDK
Code Block |
---|
In [13]: app_bundle_list = springserve.app_bundle_lists.get(<id>)
In [14]: resp = app_bundle_list.bulk_replace(['com.bundle.app'])
In [15]: resp.ok
Out [15]: True |
REST API
POST /api/v0/app_bundle_lists/<id>/app_bundles/bulk_replace
Headers
Code Block |
---|
Content-Type application/json Authorization "yourAuthToken" |
...
Code Block |
---|
{"created": True} |
Replace Entire App Bundles with a File
Replaces app bundle list with the app bundles in the csv file
SDK
Code Block |
---|
In [13]: app_bundle_list = springserve.app_bundle_lists.get(<id>) In [14]: resp = app_bundle_list.bulk_replace(file_path='/<filepath>/replacement_app_bundle_list.csv') In [15]: resp.ok Out [15]: True |
REST API
POST /api/v0/app_bundle_lists/<id>/app_bundles/file_bulk_replace
Code Block |
---|
curl --location --request POST 'https://console.springserve.com/api/v0/app_bundle_lists/<id>/app_bundles/file_bulk_replace' \ --header 'Content-Type: application/json' \ --header 'Authorization: <yourAuthToken>' \ --form 'csv_file=@"/<filepath>/replacement_app_bundle_list.csv"' |
...
Code Block |
---|
{"created": True} |
Get App Bundles in App Bundle List
SDK
Code Block |
---|
In [15]: resp = app_bundle_list.get_bundles() In [16]: for bundle in resp: ....: print bundle.app_bundle ....: app1 app2 |
REST API
GET /api/v0/app_bundle_lists/<id>/app_bundles
...
Code Block |
---|
[ {"app_bundle": "app1"}, {"app_bundle": "app2"} ] |
Remove App Bundles
SDK
Code Block |
---|
In [13]: app_bundle_list = springserve.app_bundle_lists.get(9) In [14]: resp = app_bundle_list.remove_bundles(['app2']) In [15]: resp.ok Out [15]: True In [16]: print resp.deleted True |
REST API
DELETE /api/v0/app_bundle_lists/<id>/app_bundles/bulk_delete
...
Code Block |
---|
{ "app_bundles": ["app2"] } |
Response (note you need to paginate)
Status code 200
Code Block |
---|
{"deleted": True} |
Remove App Bundles Using a File
Removes app bundles in the csv file from the list
SDK
Code Block |
---|
In [13]: app_bundle_list = springserve.app_bundle_lists.get(<id>) In [14]: resp = app_bundle_list.bulk_delete(file_url='/<filepath>/deletion_app_bundle_list.csv') In [15]: resp.ok Out [15]: True In [16]: resp.deleted Out [16]: True |
REST API
DELETE /api/v0/app_bundle_lists/<id>/app_bundles/file_bulk_delete
Code Block |
---|
curl --location --request POST 'https://console.springserve.com/api/v0/app_bundle_lists/<id>/app_bundless/file_bulk_delete' \ --header 'Content-Type: application/json' \ --header 'Authorization: <yourAuthToken>' \ --form 'csv_file=@"/<filepath>/delete_these_app_bundles.csv"' |
Response
Status code 200
Code Block |
---|
{"deleted": True} |
Attach to a Demand or Supply Tag
To attach an app bundle list to a supply or demand tag you must set the following fields on a supply or demand tag
- app_bundle_list_ids → this is a list of app bundle list ids that you want to target on the supply or demand tag
- app_bundle_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_bundle_list_ids.append(9) In [20]: tag.app_bundle_targeting = "Allowlist" In [21]: print tag.save().ok True |
REST API
See documentation on the Supply and Demand Tag APIs