Key-Values API
Keys and Values can be created, edited, and deleted through the key-values api. Once keys have been created, you can add them to supply tags for reporting. You can also apply key-value targeting to demand tags.
Visit the Keys page for more information on Keys and Values.
Create Keys
SDK
In [1]: import springserve
In [2]: key = springserve.keys.new({'name': 'New Key', 'key': 'new_key', 'definition_type':'predefined'})
In [3]: key.ok
Out [3]: True
In [4]: print key.id
Out [4]: 28
API
POST /api/v0/keys
Headers
Content-Type application/json Authorization "yourAuthToken"
Body (example)
{ } |
Required parameters: name, key, definition_type
Response
Status code 200
{
"id":30,
"account_id":1,
"name":"TEST API DOCS",
"key":"test_api",
"description":null,
"definition_type":"predefined"
}
Get Keys
SDK
In [1]: key = springserve.keys.get(27) In [2]: key.ok Out [2]: True In [3]: print key.name Out [3]: "TEST API DOCS"
API
GET /api/v0/keys
Headers
Content-Type application/json Authorization "yourAuthToken"
Response
Status code 200
{
"id":30,
"account_id":1,
"name":"TEST API DOCS",
"key":"test_api",
"description":null,
"definition_type":"predefined"
}
Get Values
SDK
In [1]: key = springserve.keys.get(27) In [2]: values = key.get_values() In [3]: for v in values: ....: print v.id Out [3]: 104 105 106
API
GET /api/v0/keys/<key_id>/values/<id>
Headers
Content-Type application/json Authorization "yourAuthToken"
Response
Status code 200
{
"id":57,
"name":"TEST API DOCS",
"value":"test_api"
}
Edit Keys
SDK
In [1]: key = springserve.keys.get(27) In [2]: key.description = "Updated Description" In [3]: saved = key.save() In [4]: saved.ok Out [4]: True
API
PUT /api/v0/keys/<id>
Headers
Content-Type application/json Authorization "yourAuthToken"
Body (example)
{ } |
Response
Status code 200
{
"id":30,
"account_id":1,
"name":"I want to change the name",
"key":"test_api",
"description":null,
"definition_type":"predefined"
}
Edit Values
SDK
In [1]: key = springserve.keys.get(27) In [2]: values = key.get_values() In [3]: value = values[0] In [4]: value.name = 'Updated value name' In [5]: saved = value.save() In [6]: saved.ok Out [6]: True
API
PUT /api/v0/keys/<id>/values/<id>
Headers
Content-Type application/json Authorization "yourAuthToken"
Body (example)
{ } |
Response
Status code 200
{
"id":57,
"name":"I want to change the name",
"value":"test_api"
}
Add Values to Existing Key
SDK
In [1]: key = springserve.keys.get(27)
In [2]: value = key.add_value({'name': 'new_value', 'value': '4'})
In [3]: saved = value.save()
In [4]: saved.ok
Out [4]: True
API
POST /api/v0/keys/<id>/values
Headers
Content-Type application/json Authorization "yourAuthToken"
Body (example)
{ } |
Required parameters: name, value
Response
Status code 200
{
"id":57,
"name":"TEST API DOCS",
"value":"test_api"
}
Add Keys to Supply Tag
SDK
In [1]: tag = springserve.supply_tags.get(28852) In [2]: tag.key_ids Out [2]: [] In [4]: tag.key_ids.append(27) In [5]: saved = tag.save() In [6]: saved.ok Out [6]: True
API
PUT /api/v0/supply_tags/<id>
Headers
Content-Type application/json Authorization "yourAuthToken"
Body (example)
|
Response
Status code 200
{
"vast_endpoint_url": "http://myvastendpoint.com/123",
"demand_type": 2,
"impression_budget": -1,
"rate": "10.0",
"domain_targeting": "None",
"id": 30424,
"domain_list_ids": [],
"country_codes": [],
"start_date": null,
"account_id": 1,
"end_date": null,
"key_ids": 27,
"demand_code": null,
"active": true,
"country_targeting": "None",
"demand_tag_type": 2,
"name": "I want to change the name",
"request_budget": -1,
"player_size_targeting": "All",
"allowed_player_sizes": [
"s",
"m",
"l",
"u"
],
"timeout": 20000,
"demand_group_id": null,
"demand_partner_id": null
}