Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: sdk for bulk changes

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

...

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

Body (example)


{
    "name": "My App Bundle List",
    "description": "My description"
}


Required parameters: name

Response

Status code 200

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

Use tab completion with SDK to auto-complete function names or show field options!

Code Block
languagepy
In [1]: import springserve
 
In [2]: app_bundle_list = springserve.app_bundle_lists.new({"name":"My Test App Bundle List"}get(9)
 
In [32]: print app_bundle_list.ok, app_bundle_list.id
True 9name
"My Test App Bundle List"

REST API

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

Headers

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

Body (example)

...

{
    "name": "My App Bundle List",
    "description": "My description"
}

Required parameters: name


Authorization "yourAuthToken"

Response

Status code 200

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
languagepy
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>

Headers

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

Response

Status code 200

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

...

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

Headers

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

Body (example)

Code Block
{
	"app_bundles": ["app1", "app2"]
}

Response

Status code 200

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

Response

Status code 201

Code Block
{"created": True}

Replace Entire App Bundle List

REST API

POST /api/v0/app_bundle_lists/<id>/app_bundles/bulk_createreplace

Headers

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

...

Code Block
{
	"app_bundles": ["app1", "app2"]
}

Response

Status code 200201

Code Block
{"created": True}

...

Replace Entire App Bundles

...

with a File

Appends Replaces app bundle list with the app bundles in the csv file to the list

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

Response

Status code 201

Code Block
{"created": True}

Replace Entire App Bundle List

REST API

POST 

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

...

Headers

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

Body (example)

Code Block
{
	"app_bundles": ["app1", "app2"]
}
: <yourAuthToken>' \
--form 'csv_file=@"/<filepath>/replacement_app_bundle_list.csv"'

Response

Status code 201

Code Block
{"created": True}

Replace Entire App Bundles with a File

Replaces app bundle list with the app bundles in the csv file

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

Response

Status code 201

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

Headers

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

Response (note you need to pagenate)

Status code 200

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

Headers

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

Body (example)

Code Block
{
	"app_bundles": ["app2"]
}

Response (note you need to paginate)

Status code 200

Code Block
{"deleted": True}

Remove App Bundles Using a File 

...

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

Headers

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


Response (note you need to pagenate)

Status code 200

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

Headers

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

Body (example)


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