RevContent Campaigns (Boosts) API
Create, update, list, archive and report on advertising campaigns.
Create, update, list, archive and report on advertising campaigns.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/revcontent-boosts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.1.0
info:
title: RevContent Campaigns API
description: Create, update, list, archive and report on advertising campaigns (boosts).
version: '1.0'
contact:
name: RevContent Support
url: https://www.revcontent.com/resources/contact-us
email: developer@revcontent.com
servers:
- url: https://api.revcontent.io
description: RevContent Production API
security:
- BearerAuth: []
tags:
- name: Campaigns
description: Create, update, list, archive and report on advertising campaigns (boosts).
paths:
/stats/api/v1.0/boosts:
get:
operationId: getAllBoosts
summary: Get All Campaigns
description: Get list of Campaigns
tags:
- Campaigns
x-permission:
- Advertiser
parameters:
- name: boost_id
in: query
required: false
description: Campaign ID
schema:
type: number
- name: sub_account_id
in: query
required: false
description: Sub Account ID. By default all actions are for your user account if sub account ID
is not specified.
schema:
type: number
- name: status
in: query
required: false
description: 'System status of the campaign. Values: "active", "balance_issue", "budget_exhausted",
"inactive", "disabled", "archived".'
schema:
type: string
- name: enabled
in: query
required: false
description: 'User status of the campaign. Values: "active", "inactive".'
schema:
type: string
- name: date_from
in: query
required: false
description: Start date for the statistics in Y-m-d format. Defaults to first of the current month.
schema:
type: string
default: first of the month
- name: date_to
in: query
required: false
description: End date for the statistics in Y-m-d format. Defaults to today.
schema:
type: string
default: today's date
- name: limit
in: query
required: false
description: Number of records to return. Max 1000. Default 100.
schema:
type: number
default: 100
- name: offset
in: query
required: false
description: Offset for the records to return.
schema:
type: number
default: 0
- name: aggregate
in: query
required: false
description: If 'yes', statistics aggregated by date are retrieved.
schema:
type: string
default: 'no'
- name: created_at
in: query
required: false
description: If set, will bring back campaigns created on or after specified date.
schema:
type: string
default: 'null'
- name: updated_at
in: query
required: false
description: If set, will bring back campaigns updated on or after specified date.
schema:
type: string
default: 'null'
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
description: 'true'
data:
type: array
items:
type: object
properties:
id:
type: string
description: Campaign id
name:
type: string
description: Campaign name
start_date:
type: string
description: Campaign Start date (YY-mm-dd HH:mm:ss)
end_date:
type: string
description: Campaign End date (YY-mm-dd HH:mm:ss)
enabled:
type: string
description: Campaign enabled or disabled ('active', 'inactive')
status:
type: string
description: Campaign status ('active','balance_issue','budget_exhausted','inactive','disabled','archived',
'non_archived')
bid_type:
type: string
description: Campaign Bid Type
default_bid:
type: string
description: Default bid for the campaign.
min_bid:
type: string
description: Campaign Minimum CPC Bid
max_bid:
type: string
description: Campaign Maximum CPC Bid
budget:
type: string
description: Campaign Budget amount
pacing:
type: string
description: Campaign Pacing is available for all campaigns with a limited budget.
Enabling pacing forces your budget to spend evenly throughout the day rather
than spending as quickly as possible. If budget is set to 'unlimited', pacing
will default to 'off'. Otherwise, default is 'on'.
schedule:
type: string
description: 'Campaign Scheduling. Allows for setting hours where campaign is
on. All other hours campaign is off. Ex. schedule: [15,16,17] Campaign will
be on for 3pm - 5pm in your audiences time zone. Note: NULL value implies
no schedule is set.'
impressions:
type: string
description: Total number of Impression for selected date
viewable_impressions:
type: string
description: Total number of Viewable Impressions for selected date
clicks:
type: string
description: Total number of clicks for selected date
conversions:
type: string
description: Total number of conversion for selected date
ctr:
type: string
description: CTR for selected date
vctr:
type: string
description: vCTR for selected date
avg_cpc:
type: string
description: Average CPC for selected date
cost:
type: string
description: Cost for selected date
return:
type: string
description: Return for selected date
profit:
type: string
description: Profit for selected date
utm_codes:
type: string
description: Campaign UTM codes
pixel_url:
type: string
description: Pixel URL
optimize:
type: string
description: Optimize for strategy ('cpc' or 'cpa')
created_at:
type: string
description: When the campaign was created at.
updated_at:
type: string
description: When the campaign was last updated.
country_codes:
type: array
items:
type: string
description: 'List of ISO country abbreviations. Ex. country_codes": ["US"]'
device_targeting:
type: array
items:
type: string
description: 'List of device targeting for the campaign. Ex. device_targeting:
["1","2"] See section Helpers :: Get Devices for values.'
os_targeting:
type: array
items:
type: string
description: 'List of operating systems for the campaign. Ex. device_targeting:
["1","2"] See section Helpers :: Get Operating Systems for values. IDs must
match device_targeting.'
region_codes:
type: array
items:
type: string
description: 'List of regions codes Ex. region_codes": ["FL","CA"]'
region_targeting:
type: array
items:
type: string
description: Targeting type
language_targeting:
type: array
items:
type: string
description: 'List of languages targeting for the campaign. Ex. language_targeting:
["1","2"] See section Helpers :: Get Languages for values.'
browser_targeting:
type: array
items:
type: string
description: 'List of browser targeting for the campaign. Only available when
targeting Desktop device. Ex. browser_targeting: ["1","2"] See section Helpers
:: Get Browsers for values.'
dma_targeting:
type: string
description: 'DMA Targeting. Values: ''all'', ''include'', ''exclude''.'
dma_codes:
type: array
items:
type: string
description: 'List of DMA codes for the campaign. See section Helpers :: Get
DMA Codes'
zipcode_targeting:
type: string
description: 'Zipcode Targeting. Values: ''all'', ''include'', ''exclude''.'
zipcode_codes:
type: array
items:
type: string
description: 'List of valid US zip codes for the campaign. Ex: ["11220", "34243",
"48212"]'
pixels:
type: array
items:
type: object
properties:
id:
type: string
description: Conversion pixel id.
name:
type: string
description: Conversion pixel name.
amount:
type: string
description: Conversion pixel amount.
pixel:
type: string
description: Conversion pixel code.
required:
- id
- name
- amount
- pixel
description: Conversion pixels information. Only included when conversion(s)
exist.
required:
- id
- name
- start_date
- end_date
- enabled
- status
- bid_type
- default_bid
- min_bid
- max_bid
- budget
- pacing
- schedule
- impressions
- viewable_impressions
- clicks
- conversions
- ctr
- vctr
- avg_cpc
- cost
- return
- profit
- utm_codes
- pixel_url
- optimize
- created_at
- updated_at
- country_codes
- device_targeting
- os_targeting
- region_codes
- region_targeting
- language_targeting
- browser_targeting
- dma_targeting
- dma_codes
- zipcode_targeting
- zipcode_codes
- pixels
description: List of campaigns and their statistics
aggregate:
type: object
properties:
success:
type: boolean
description: 'true'
data:
type: array
items:
type: object
properties:
date:
type: string
description: Stats date (YY-mm-dd)
impressions:
type: string
description: Total number of Impression for selected date
viewable_impressions:
type: string
description: Total number of Viewable Impressions for selected date
clicks:
type: string
description: Total number of clicks for selected date
conversions:
type: string
description: Total number of conversion for selected date
ctr:
type: string
description: CTR for selected date
vctr:
type: string
description: vCTR for selected date
avg_cpc:
type: string
description: Average CPC for selected date
cost:
type: string
description: Cost for selected date
return:
type: string
description: Return for selected date
profit:
type: string
description: Profit for selected date
required:
- date
- impressions
- viewable_impressions
- clicks
- conversions
- ctr
- vctr
- avg_cpc
- cost
- return
- profit
description: List of aggregated campaigns and their statistics
description: Statistics aggregated by date (returned when aggregate=yes).
required:
- success
- data
example:
success: true
data:
- date: '2016-11-07'
impressions: '185766183'
viewable_impressions: '45665587'
clicks: '519170'
conversions: '0'
ctr: '0.2795'
vctr: '1.6795'
average_cpc: '0.06643828'
cost: '34492.7600'
return: '0.0000'
profit: '-34492.7600'
- date: '2016-11-06'
impressions: '212554031'
viewable_impressions: '0'
clicks: '690782'
conversions: '0'
ctr: '0.3250'
vctr: '1.6795'
vtr: '0.000'
average_cpc: '0.05746427'
cost: '39695.2800'
return: '0.0000'
profit: '-39695.2800'
'400':
description: Error-Response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
success: false
errors:
- code: 400
title: Invalid Parameters
detail: Invalid Parameters sent
'401':
description: Missing or invalid access token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: json
label: Get Campaigns
source: |-
curl -X GET \
-H "Authorization: Bearer e62a04f681ba57d0120f8f584b688e31f04cf41d" \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
'https://api.revcontent.io/stats/api/v1.0/boosts'
- lang: json
label: Get Campaigns (Aggregate)
source: |-
curl -X GET \
-H "Authorization: Bearer e62a04f681ba57d0120f8f584b688e31f04cf41d" \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
'https://api.revcontent.io/stats/api/v1.0/boosts?date_from=2016-11-06&date_to=2016-11-07&aggregate=yes'
post:
operationId: postBoostsStatus
summary: Update Campaign Status
description: Update Campaign Status.
tags:
- Campaigns
x-permission:
- Advertiser
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
id:
type: number
description: Campaign ID.
sub_account_id:
type: number
description: Sub Account ID. By default all actions are for your user account if sub
account ID is not specified. Apply changes to a specific campaign id.
do_all:
type: boolean
description: Apply status update to all campaigns. This parameter is set to false when
boost_id is included.
default: false
enabled:
type: string
description: 'Content status. Values: "on", "off".'
default: 'on'
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
id:
type: number
description: campaign updated.
enabled:
type: string
description: New user status of the campaign.
status:
type: string
description: New system status of the campaign.
required:
- id
- enabled
- status
example:
id: '100'
enabled: active
status: active
'401':
description: Missing or invalid access token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Error-Response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
success: false
errors:
- code: 100
title: Invalid Argument
detail: Invalid ID value
x-codeSamples:
- lang: json
label: Update boost
source: |-
curl -X POST \
-H "Authorization: Bearer e62a04f681ba57d0120f8f584b688e31f04cf41d" \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-d '{"id": 217, "enabled" : "on"}' \
'https://api.revcontent.io/stats/api/v1.0/boosts'
- lang: json
label: Update multiple boosts
source: |-
curl -X POST \
-H "Authorization: Bearer e62a04f681ba57d0120f8f584b688e31f04cf41d" \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-d '[{"id": 217, "enabled" : "on"},{"id": 218, "enabled" : "off"}]' \
'https://api.revcontent.io/stats/api/v1.0/boosts'
- lang: json
label: Update all campaigns
source: |-
curl -X POST \
-H "Authorization: Bearer e62a04f681ba57d0120f8f584b688e31f04cf41d" \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-d '{"enabled" : "off", "do_all": true}' \
'https://api.revcontent.io/stats/api/v1.0/boosts'
/stats/api/v1.0/boosts/performance:
get:
operationId: getBoostPerformance
summary: Get Campaign Performance
description: Get Performance Statistics for All Campaigns / Specific Campaign
tags:
- Campaigns
x-permission:
- Advertiser
parameters:
- name: boost_id
in: query
required: false
description: Campaign ID (If empty, all campaigns aggregated statistics are retrieved).
schema:
type: string
- name: sub_account_id
in: query
required: false
description: Sub Account ID. By default all actions are for your user account if sub account ID
is not specified.
schema:
type: number
- name: date_from
in: query
required: false
description: Start date for the statistics in Y-m-d format. Defaults to first of the current month.
schema:
type: string
default: first of the month
- name: date_to
in: query
required: false
description: End date for the statistics in Y-m-d format. Defaults to today.
schema:
type: string
default: today's date
- name: limit
in: query
required: false
description: Number of records to return. Max 1000. Default 100.
schema:
type: number
default: 100
- name: offset
in: query
required: false
description: Offset for the records to return.
schema:
type: number
default: 0
- name: all_boosts
in: query
required: false
description: If 'yes', and boost_id is not provided, statistics aggregated by Id are retrieved.
schema:
type: string
default: 'no'
- name: created_at
in: query
required: false
description: If set, will bring back campaigns created on or after specified date.
schema:
type: string
default: 'null'
- name: updated_at
in: query
required: false
description: If set, will bring back campaigns updated on or after specified date.
schema:
type: string
default: 'null'
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
description: 'true'
data:
type: array
items:
type: object
properties:
id:
type: string
description: Campaign id. Only when filter all_boost=yes
date:
type: string
description: Stats date (YY-mm-dd)
impressions:
type: string
description: Total number of Impression for selected date
viewable_impressions:
type: string
description: Total number of Viewable Impressions for selected date
clicks:
type: string
description: Total number of clicks for selected date
conversions:
type: string
description: Total number of conversion for selected date
ctr:
type: string
description: CTR for selected date
vctr:
type: string
description: Viewable CTR for selected date
avg_cpc:
type: string
description: Average CPC for selected date
cost:
type: string
description: Cost for selected date
cost_per_conv:
type: string
description: Cost per conversion for selected date
return:
type: string
description: Return for selected date
profit:
type: string
description: Profit for selected date
created_at:
type: string
description: When the campaign was created at.
updated_at:
type: string
description: When the campaign was last updated.
required:
- date
- impressions
- viewable_impressions
- clicks
- conversions
- ctr
- vctr
- avg_cpc
- cost
- cost_per_conv
- return
- profit
- created_at
- updated_at
description: List of campaigns and their statistics
required:
- success
- data
example:
success: true
data:
- date: '2016-03-01'
impressions: '146299926'
viewable_impressions: '4856645'
clicks: '558695'
conversions: '0'
ctr: '0.3819'
vctr: '1.3819'
avg_cpc: '0.04110327'
cost: '22964.1900'
cost_per_conv: '0.000'
return: '0.0000'
profit: '-22964.1900'
- date: '2016-03-02'
impressions: '141200030'
viewable_impressions: '456687998'
clicks: '492804'
conversions: '0'
ctr: '0.3490'
vctr: '1.3819'
avg_cpc: '0.03913846'
cost: '19287.5900'
cost_per_conv: '0.000'
return: '0.0000'
profit: '-19287.5900'
- date: '2016-03-03'
impressions: '116063762'
viewable_impressions: '456878855'
clicks: '373168'
conversions: '0'
ctr: '0.3215'
vctr: '1.3819'
avg_cpc: '0.03963073'
cost: '14788.9200'
cost_per_conv: '0.000'
return: '0.0000'
profit: '-14788.9200'
- date: '2016-03-04'
impressions: '101758856'
viewable_impressions: '788954666'
clicks: '321858'
conversions: '0'
ctr: '0.3163'
vctr: '1.3819'
avg_cpc: '0.04228427'
cost: '13609.5300'
cost_per_conv: '0.000'
return: '0.0000'
profit: '-13609.5300'
- date: '2016-03-05'
impressions: '129758130'
viewable_impressions: '15566488'
clicks: '400733'
conversions: '0'
ctr: '0.3088'
vctr: '1.3819'
avg_cpc: '0.04149481'
cost: '16628.3400'
cost_per_conv: '0.000'
return: '0.0000'
profit: '-16628.3400'
- date: '2016-03-06'
impressions: '152533186'
viewable_impressions: '63254125'
clicks: '411781'
conversions: '0'
ctr: '0.2700'
vctr: '1.3819'
avg_cpc: '0.04136820'
cost: '17034.6400'
cost_per_conv: '0.000'
return: '0.0000'
profit: '-17034.6400'
- date: '2016-03-07'
impressions: '124309196'
viewable_impressions: '744788946'
clicks: '350109'
conversions: '0'
ctr: '0.2816'
vctr: '1.3819'
avg_cpc: '0.04531540'
cost: '15865.3300'
cost_per_conv: '0.000'
return: '0.0000'
profit: '-15865.3300'
'400':
description: Error-Response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
success: false
errors:
- code: 400
title: Invalid Parameters
detail: Invalid Parameters sent
'401':
description: Missing or invalid access token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: json
label: Get Performance (default values)
source: |-
curl -X GET \
-H "Authorization: Bearer e62a04f681ba57d0120f8f584b688e31f04cf41d" \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
'https://api.revcontent.io/stats/api/v1.0/boosts/performance'
- lang: json
label: Get Performance (with filters)
source: |-
curl -X GET \
-H "Authorization: Bearer e62a04f681ba57d0120f8f584b688e31f04cf41d" \
-H "Co
# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/revcontent/refs/heads/main/openapi/revcontent-boosts-api-openapi.yml