Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: buzz Campaign API
version: '0.5'
servers:
- url: https://buzz-key.api.beeswax.com/rest/
security:
- {}
tags:
- name: Campaign
paths:
/campaign:
post:
summary: campaign
description: ''
operationId: campaign-post
requestBody:
content:
application/json:
schema:
type: object
required:
- advertiser_id
- campaign_name
- campaign_budget
- start_date
- active
properties:
advertiser_id:
type: integer
description: Must belong to the same account as the Campaign and be active
format: int32
campaign_name:
type: string
description: Name of the Campaign, e.g. "Winter lead generation"
campaign_budget:
type: number
description: Maximum amount to spend on this Campaign
format: double
daily_budget:
type: number
description: Maximum amount to spend or deliver in a day, Cannot exceed `campaign_budget` or be so low as to prevent `campaign_budget` from being reached over the length of the campaign. Cannot be lower than the `daily_budget` for any Line Items associated with this campaign.
format: double
budget_type:
type: integer
description: Type of budget, `0`=spend, `1`=impressions, `2`=spend with vendor fees
default: 0
format: int32
revenue_type:
type: string
description: 'Supported revenue types: `CPM`, `CPC`, `CPCV`, `CPI`, `CPA`'
revenue_amount:
type: number
description: If a revenue_type is set, this is field is the basis of calculation. For example, if revenue_type is `CPM` and revenue_amount is `5.12`, revenue will be calculated as a $5.12 CPM.
format: double
pacing:
type: integer
description: This field is deprecated. Pacing is available at the Line Item level.
default: 0
format: int32
bid_modifier_id:
type: integer
description: ID of a Bid Modifier object to associate with the Campaign. If set, `max_bid` must also be set.
format: int32
delivery_modifier_id:
type: integer
description: ID of the Delivery Modifier to associate with Line Items under this Campaign
format: int32
max_bid:
type: number
description: Maximum bid after taking into consideration any Bid Modifiers.
format: double
start_date:
type: string
description: Start date of the Campaign. No Line Items associated with the Campaign can have start dates prior to this date.
format: date
end_date:
type: string
description: End date of the Campaign. No Line Items associated with the Campaign can have end dates after this date. End date must be provided in order to pace.
format: date
frequency_cap:
type: object
description: Frequency cap JSON.
required:
- duration
- impressions
properties:
duration:
type: integer
description: Duration of time in which to cap impressions, in seconds. 30-day (2592000) max.
format: int32
impressions:
type: integer
description: Number of impressions to allow within the duration set
format: int32
frequency_cap_type:
type: integer
description: The method of frequency capping. All Line Items must match Campaign-level if set. For definitions, see the Frequency Cap guide.
default: 0
format: int32
frequency_cap_vendor:
type: string
description: Extends frequency cap using a device graph (fees may apply). Valid values may be `TAPAD` or `LIVERAMP` depending on what has been enabled
continents:
type: array
description: Continents in which the Campaign is eligible to serve. Inherited from the Advertiser object if left blank.
items:
type: string
currency:
type: string
description: Currency in which all Line Items under this Campaign will bid. Cannot be changed once set. If a default is set at the Advertiser level, it will be inherited here.
default: USD
segment_extension_default:
type: string
description: Determines the type of audience extension to use at the Line Item level. Valid values are `none`,`person`,`household`,`person_extend_only`, and `household_extend_only`.
default: none
segment_extension_type_default:
type: string
description: Determines the type of audience extension to be used at the Line Item level. Valid options include `none`,`1P`,`3P`, and `ALL`.
default: none
segment_extension_vendors_default:
type: array
description: Lists of vendors to use at the Line Item level for audience extension. Valid values are `TAPAD` and `LIVERAMP`.
default:
- '''["TAPAD"]`'
items:
type: string
enable_skad_tracking:
type: boolean
description: Should Apple's SKAdNetwork tracking be enabled for this Campaign. Must be enabled at the Advertiser level to be enabled here.
default: false
alternative_id:
type: string
description: An alternative id to lookup the Campaign, if desired
notes:
type: string
description: Notes, up to 255 chars
active:
type: boolean
description: Is it active?
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"success\": true,\n \"message\": \"campaign created with ID = 1\",\n \"payload\": {\n \"id\": 1\n }\n}"
schema:
type: object
properties:
success:
type: boolean
example: true
default: true
message:
type: string
example: campaign created with ID = 1
payload:
type: object
properties:
id:
type: integer
example: 1
default: 0
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl -X POST "[host]/rest/campaign" -b cookies.txt -d '{"advertiser_id":1, "budget_type":0,"campaign_name":"foo", "campaign_budget":1000, "start_date":"1/1/2015", "frequency_cap":[{"duration":500,"impressions":1}, "frequency_cap_type":1, {"duration":1000,"impressions":2}], "frequency_cap_vendor":"TAPAD","continents":["NAM","EMEA"],"currency":"CAD","segment_extension_default":"person","segment_extension_type_default":"1P","segment_extension_vendors_default":["TAPAD"],"enable_skad_tracking":false}'
samples-languages:
- curl
tags:
- Campaign
get:
summary: campaign
description: ''
operationId: campaign-get
parameters:
- name: campaign_id
in: query
description: Unique ID of the campaign
schema:
type: integer
format: int32
- name: advertiser_id
in: query
schema:
type: integer
format: int32
- name: campaign_name
in: query
description: Name of the campaign, e.g. "Winter lead generation"
schema:
type: string
- name: bid_modifier_id
in: query
description: ID of the Bid Modifier associated with this Campaign
schema:
type: integer
format: int32
- name: delivery_modifier_id
in: query
description: ID of the Delivery Modifier associated with this Campaign
schema:
type: integer
format: int32
- name: alternative_id
in: query
description: An alternative id to lookup the campaign, if desired
schema:
type: string
- name: active
in: query
description: Is it active?
schema:
type: boolean
- name: create_date
in: query
schema:
type: string
format: date
- name: update_date
in: query
schema:
type: string
format: date
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"success\": true,\n \"payload\": [\n {\n \"campaign_id\": 1,\n \"advertiser_id\": 1,\n \"campaign_name\": \"Campaign Name\",\n \"campaign_budget\": 1000,\n \"campaign_spend\": 0,\n \"daily_budget\": null,\n \"budget_type\": 0,\n \"start_date\": \"2015-01-01 00:00:00\",\n \"end_date\": null,\n \"pacing\": 0,\n \"bid_modifier_id\": null,\n \"delivery_modifier_id\": null,\n \t\"max_bid\": null,\n \"test_plan_id\": null,\n \"revenue_type\": null,\n \"revenue_amount\": null,\n \"frequency_cap\": [\n {\n \"duration\": 500,\n \"impressions\": 1\n },\n {\n \"duration\": 1000,\n \"impressions\": 2\n }\n ],\n \"frequency_cap_type\": 1,\n \"frequency_cap_vendor\": \"TAPAD\",\n \"default_targeting\": [],\n \"continents\": [\"NAM\",\"EMEA\"],\n \"currency\": \"CAD\",\n \"segment_extension_default\": \"person\",\n \"segment_extension_type_default\": \"1P\",\n \"segment_extension_vendors_default\": [\"TAPAD\"],\n \"enable_skad_tracking\":false, \n \"push_status\": 0,\n \"push_update\": 1,\n \"account_id\": 1,\n \"create_date\": \"2016-02-19 13:31:12\",\n \"update_date\": \"2016-02-25 16:43:36\",\n \"alternative_id\": null,\n \"notes\": null,\n \"active\": true,\n \"buzz_key\": \"stingersbx\"\n }\n ]\n}"
schema:
type: object
properties:
success:
type: boolean
example: true
default: true
payload:
type: array
items:
type: object
properties:
campaign_id:
type: integer
example: 1
default: 0
advertiser_id:
type: integer
example: 1
default: 0
campaign_name:
type: string
example: Campaign Name
campaign_budget:
type: integer
example: 1000
default: 0
campaign_spend:
type: integer
example: 0
default: 0
daily_budget: {}
budget_type:
type: integer
example: 0
default: 0
start_date:
type: string
example: '2015-01-01 00:00:00'
end_date: {}
pacing:
type: integer
example: 0
default: 0
bid_modifier_id: {}
delivery_modifier_id: {}
max_bid: {}
test_plan_id: {}
revenue_type: {}
revenue_amount: {}
frequency_cap:
type: array
items:
type: object
properties:
duration:
type: integer
example: 500
default: 0
impressions:
type: integer
example: 1
default: 0
frequency_cap_type:
type: integer
example: 1
default: 0
frequency_cap_vendor:
type: string
example: TAPAD
default_targeting:
type: array
items:
type: object
properties: {}
continents:
type: array
items:
type: string
example: NAM
currency:
type: string
example: CAD
segment_extension_default:
type: string
example: person
segment_extension_type_default:
type: string
example: 1P
segment_extension_vendors_default:
type: array
items:
type: string
example: TAPAD
enable_skad_tracking:
type: boolean
example: false
default: true
push_status:
type: integer
example: 0
default: 0
push_update:
type: integer
example: 1
default: 0
account_id:
type: integer
example: 1
default: 0
create_date:
type: string
example: '2016-02-19 13:31:12'
update_date:
type: string
example: '2016-02-25 16:43:36'
alternative_id: {}
notes: {}
active:
type: boolean
example: true
default: true
buzz_key:
type: string
example: stingersbx
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl -X GET "[host]/rest/campaign" -b cookies.txt -d '{"campaign_id":1}'
samples-languages:
- curl
tags:
- Campaign
put:
summary: campaign
description: ''
operationId: campaign-put
requestBody:
content:
application/json:
schema:
type: object
required:
- campaign_Id
properties:
campaign_Id:
type: integer
description: Unique ID of the campaign
format: int32
campaign_name:
type: string
description: Name of the campaign, e.g. "Winter lead generation"
campaign_budget:
type: number
description: Maximum amount to spend on this Campaign
format: double
daily_budget:
type: number
description: Maximum amount to spend or deliver in a day, Cannot exceed `campaign_budget` or be so low as to prevent `campaign_budget` from being reached over the length of the campaign. Cannot be lower than the `daily_budget` for any Line Items associated with this Campaign.
format: double
budget_type:
type: integer
description: Type of budget, `0`=spend, `1`=impressions, `2`=spend with vendor fees
default: 0
format: int32
revenue_type:
type: string
description: 'Supported revenue types: `CPM`, `CPC`, `CPCV`, `CPI`, `CPA`'
revenue_amount:
type: number
description: If a `revenue_type` is set, this is field is the basis of calculation. For example, if `revenue_type` is `CPM` and `revenue_amount` is `5.12`, revenue will be calculated as a $5.12 CPM.
format: double
pacing:
type: integer
description: This field is deprecated. Pacing is available at the Line Item level.
default: 0
format: int32
bid_modifier_id:
type: integer
description: ID of a Bid Modifier object to associate with the Campaign. If set, `max_bid` must also be set.
format: int32
delivery_modifier_id:
type: integer
description: ID of the Delivery Modifier to associate with Line Items under this Campaign
format: int32
max_bid:
type: number
description: Maximum bid after taking into consideration any Bid Modifiers.
format: double
start_date:
type: string
description: Start date of the Campaign. No Line Items associated with the Campaign can have start dates prior to this date.
format: date
end_date:
type: string
description: End date of the Campaign. No Line Items associated with the Campaign can have end dates after this date.
format: date
frequency_cap:
type: object
description: Frequency cap JSON.
required:
- duration
- impressions
properties:
duration:
type: integer
description: Duration of time in which to cap impressions, in seconds. 30-day (2592000) max.
format: int32
impressions:
type: integer
description: Number of impressions to allow within the duration set
format: int32
frequency_cap_type:
type: integer
description: The method of frequency capping. All Line Items must match Campaign-level if set. For definitions, see the Frequency Cap guide.
format: int32
frequency_cap_vendor:
type: string
description: Extends frequency cap using a device graph (fees may apply). Valid values may be `TAPAD` or `LIVERAMP` depending on what has been enabled
continents:
type: array
description: Continents in which the Campaign is eligible to serve. Inherited from the Advertiser object if left blank.
items:
type: string
segment_extension_default:
type: string
description: Determines the type of audience extension to use at the Line Item level. Valid values are `none`,`person`,`household`,`person_extend_only`, and `household_extend_only`.
default: none
segment_extension_type_default:
type: string
description: Determines the type of audience extension to be used at the Line Item level. Valid options include `none`,`1P`,`3P`, and `ALL`.
default: none
segment_extension_vendors_default:
type: array
description: Lists of vendors to use at the Line Item level for audience extension. Valid values are `TAPAD` and `LIVERAMP`.
default:
- '`["TAPAD"]`'
items:
type: string
enable_skad_tracking:
type: boolean
description: Should Apple's SKAdNetwork tracking be enabled for this Campaign. Must be enabled at the Advertiser level to be enabled here.
default: false
alternative_id:
type: string
description: An alternative id to lookup the campaign, if desired
notes:
type: string
description: Notes up to 255 chars
active:
type: boolean
description: Is it active?
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"success\": true,\n \"payload\": [\n {\n \"id\": 1,\n \"success\": true,\n \"message\": \"campaign updated with ID 1\"\n }\n ],\n \"message\": \"campaign update: 1 updated successfully\"\n}"
schema:
type: object
properties:
success:
type: boolean
example: true
default: true
payload:
type: array
items:
type: object
properties:
id:
type: integer
example: 1
default: 0
success:
type: boolean
example: true
default: true
message:
type: string
example: campaign updated with ID 1
message:
type: string
example: 'campaign update: 1 updated successfully'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl -X PUT "[host]/rest/campaign" -b cookies.txt -d '{"campaign_id":1, "start_date":"2/1/2015"}'
samples-languages:
- curl
tags:
- Campaign
delete:
summary: campaign
description: ''
operationId: campaign-delete
requestBody:
content:
application/json:
schema:
type: object
required:
- campaign_id
properties:
campaign_id:
type: integer
description: Unique ID of the campaign
format: int32
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"success\": true,\n \"payload\": [\n {\n \"id\": 1,\n \"success\": true,\n \"message\": \"campaign deleted with ID 1\"\n }\n ],\n \"message\": \"campaign deletion: 1 deleted successfully\"\n}"
schema:
type: object
properties:
success:
type: boolean
example: true
default: true
payload:
type: array
items:
type: object
properties:
id:
type: integer
example: 1
default: 0
success:
type: boolean
example: true
default: true
message:
type: string
example: campaign deleted with ID 1
message:
type: string
example: 'campaign deletion: 1 deleted successfully'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl -X DELETE "[host]/rest/campaign" -b cookies.txt -d '{"campaign_id":1}'
samples-languages:
- curl
tags:
- Campaign
x-readme:
headers: []
explorer-enabled: true
proxy-enabled: true
x-readme-fauxas: true