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
Note: The size of the list supplied as argument to .add_bundles() method can only be 10,000 elements long. If you wish to add more than 10,000 bundles at once, chunk the lists into smaller lists.
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
...
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 APIsAPI