Skip to main content

Campaign API

The Campaign API allows you to create and manage campaigns and insertion orders (IOs).

This page covers the common endpoints and methods associated with the Campaign API.

  • Campaigns are targeted ad runs that operate for a set period of time under specified optimization strategies.
  • Insertion orders are the parent hierarchy to campaigns and they define the contracts between an Advertiser and a media partner, as well as the parameters of an ad campaign.

More resources​

Authentication​

Use the following header parameters for all requests:

Headers
Authentication
string required
Authentication bearer token.
See Sign up and authenticate.
X-IAA-OW-ID
integer required
Organization Workspace ID header.

Campaign details​

Campaign resource properties​

Resource properties
owId
integer
Organization Workspace ID.
parentOrganizationName
string
Parent Organization name.
id
integer
Campaign ID.
uowId
integer
User Organization Workspace ID.
campaignName
string
Campaign name.
advertiserDomain
string
Campaign Advertiser domain.
creativeType
integer
Creative type ID.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
campaignType
integer
Campaign type ID.
Supported values
1Advanced campaign
2PG campaign
totalBudgetPacing
boolean
Budget is spent equally every hour: true.
isTvAd
boolean
Specifies if campaign is TV ad: true.
budgetDay
integer
Daily budget of campaign.
budgetTotal
integer
Total budget for campaign.
Note: can be null if fixed daily budget, start time, and end time are provided.
maxBid
integer
Max bid of budget for serving.
timezone
integer
Timezone ID.
startTime
integer
Unix epoch timestamp of campaign start date, in milliseconds.
endTime
integer
Unix epoch timestamp of campaign end date, in milliseconds.
status
string
Status of campaign.
creativeIds
string
Comma separated creative IDs.
dspMargin
integer
Campaign DSP margin.
platformMargin
integer
Campaign platform margin.
userDealMargin
integer
Campaign user deal margin.
spentScale
boolean
Spent scale for campaign.
conversionType
string
Conversion type of campaign.
spent
integer
Campaign spent.
bidOptimization
integer
Optimize bid price based on analysis: true.
bidPacing
boolean
Budget is spent equally every hour: true.
isBidShading
boolean
Indicates whether Bid Shading is turned on (true) or off (false).
impressionCapping
integer
Maximum impressions in one inventory.
maxDayImpressions
integer
Maximum daily impressions.
maxDayClicks
integer
Maximum daily clicks.
maxDayConversions
integer
Maximum daily conversions.
totalImpressions
integer
Total conversions.
totalClicks
integer
Total clicks.
totalConversions
integer
Total conversions.
deviceType
string
Comma separated device type IDs.
Supported values
11Mobile
12Tablet
13Connected TV
15Desktop
trafficType
string
Comma separated traffic type IDs.
Supported values
11App
14CTV
13OTT
12Web
exchanges
string
Comma separated exchange IDs.
isLocationWithOrFilter
boolean
Indicates if the location should be applied with or filtered from the results.
stateIds
string
Comma separated state IDs.
countryId
integer
Country ID.
locationDetails
json
Location by uploaded file with targeting type.
isCampaignFromNewPlatform
boolean
Indicates if campaign is from the old platform.
campaignIabCategoryIds
string
Comma separated campaign IAB category IDs.
rejectionReason
string
Reason of rejecting campaign.
creativesPlacementMapping
json
Ad placement mapping with creatives (present in case of audio and video campaigns).
organizationName
string
Organization name.
userName
string
Name of user.
userEmail
string
Email of user.
conversionTypeId
integer
Conversion type ID.
Supported values
1Pixel
2Postback
3Universal Pixel
conversionIds
string
Comma separated conversions IDs.
isUnapprovedAudienceTargeted
boolean
Indicates if at least one unapproved audience is targeted in campaign.
isAllAudienceUnapproved
boolean
Indicates if all targeted audiences are unapproved.
createDate
integer
Unix epoch timestamp of campaign creation date, in milliseconds.
ioId
integer
Insertion order ID.
ioName
string
Insertion order name.
prebidAudienceSegmentIdList
array of integers
Pre-bid audience segment IDs to attach campaign to segment IDs.
campaignTypeId
integer
Campaign type ID.
Supported values
1Advanced campaign
2PG campaign
budgetTypeId
integer
Budget type ID.
Supported values
1Budget
2Impression
isEstimatorAvailable
boolean
Indicates if campaign estimator is available.
isAdvanceAudioVideoTargeted
boolean
true indicates advanced targeting is enabled.
isEditAccess
boolean
Indicates if user has edit access for the requested resources.
isMarginSet
boolean
Indicates if margin is set for the Workspace/Customer.
isApprovalAccess
boolean
Indicates if user has access to approve.
isParentInvoiceTemplateSet
boolean
Indicates if Customer has set the invoice template.

locationDetails example
"locationDetails": {
"1010": {
"fileName": "bulk-location-example(10)(2).csv",
"fileType": "location",
"validLocations": [
{
"latitude": 40.7128,
"longitude": -74.006,
"radius": 0.5,
"address": "1 Murray Street, New York, NY 10007, USA",
"locationId": 48374,
"isIncluded": true,
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 36.7783,
"longitude": -119.4179,
"radius": 1.0,
"address": "Center stage, 2630 Croydon Drive, Sanger, CA 93657, USA",
"locationId": 48375,
"isIncluded": true,
"cdId": 0,
"sdId": 0,
"hdId": 0
}
],
"id": 1010
},
"1011": {
"fileName": "bulk-addresses-example (4)(1).csv",
"fileType": "address",
"validLocations": [
{
"latitude": 35.7831443,
"longitude": -78.6388985,
"radius": 0.5,
"address": "16 West Jones Street,Raleigh,NC,27601",
"locationId": 48376,
"isIncluded": false,
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.7803163,
"longitude": -78.5326985,
"radius": 1.34,
"address": "1002 Lyndhurst Falls Ln,Knightdale,NC,27545",
"locationId": 48377,
"isIncluded": true,
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.8440052,
"longitude": -78.6580243,
"radius": 1.2,
"address": "4604 Gramercy Ct,Raleigh,NC,27609",
"locationId": 48378,
"isIncluded": true,
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.8074803,
"longitude": -78.6582902,
"radius": 1.5,
"address": "2612 Dover Rd,Raleigh,NC,27608",
"locationId": 48379,
"isIncluded": true,
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.7950389,
"longitude": -78.65665039999999,
"radius": 1.0,
"address": "820 Graham St ,Raleigh,NC,27605",
"locationId": 48380,
"isIncluded": true,
"cdId": 0,
"sdId": 0,
"hdId": 0
}
],
"id": 1011
}
}

Get campaign details by ID​

GET

Get a campaign's basic details and targeting details by ID.

Path parameters
campaignId
integer
Campaign ID.
Query parameters
isSpentRequired
boolean
Flag to get the campaign spent.
Default: false.
Response 200
{
"statusCode": 200,
"responseObject": {
"owId": 203578,
"parentOrganizationName": "Signup testing 1",
"id": 537599,
"uowId": 188494,
"campaignName": "TestCampaign",
"advertiserDomain": "https://iqm.com",
"creativeType": 11,
"campaignType": 1,
"totalBudgetPacing": true,
"isTvAd": false,
"budgetDay": 1199.08,
"budgetTotal": 50000.0,
"maxBid": 15.0,
"timezone": 29,
"startTime": 1726518001,
"endTime": 1727668800,
"status": "pending",
"dspMargin": 0,
"platformMargin": 0,
"userDealMargin": 0,
"spentScale": false,
"creativeIds": "676384",
"conversionType": "None",
"bidOptimization": true,
"bidPacing": true,
"isBidShading": false,
"impressionCapping": 0,
"maxDayImpressions": 0,
"maxDayClicks": 0,
"maxDayConversions": 0,
"totalImpressions": 0,
"totalClicks": 0,
"totalConversions": 0,
"deviceType": "13,15,11,12",
"trafficType": "11,12",
"exchanges": "",
"isLocationWithOrFilter": true,
"countryId": "30100001",
"locationDetails": {},
"isCampaignFromNewPlatform": true,
"organizationName": "User's Org",
"userEmail": "User@iqm.com",
"userName": "User",
"conversionTypeId": 0,
"isUnapprovedAudienceTargeted": false,
"isAllAudienceUnapproved": false,
"createDate": 1726517360,
"ioId": 15844,
"ioName": "Test2",
"prebidAudienceSegmentIdList": [],
"campaignTypeId": 1,
"budgetTypeId": 1,
"isAdvanceAudioVideoTargeted": false,
"isEstimatorAvailable": true,
"isEditAccess": true,
"isMarginSet": false,
"isApprovalAccess": false,
"isParentInvoiceTemplateSet": true
}
}

Get list of campaigns​

GET

Returns list of campaigns based on set of filters and conversionId query parameter.

A campaign id can be used to Get campaign details by ID or to perform various actions in Campaign management.

Query parameters
searchField
string
Filter results by search field.
limit
integer
Number of entries returned per page, default: 50.
pageNo
integer
Page number of retrieved data, default: 1.
sortBy
string
Sorts by ascending (+) or descending (-), default: -created.
conversionId
integer
Targeted campaign will be returned at top of list.
status
string
Filter by multiple statuses.
owIds
integer
Filter by Organization Workspace IDs.
Response 200
{
"statusCode": 200,
"responseObject": {
"totalRecords": 1498,
"data": [
{
"id": 176881,
"name": "Campaign to test duplicate copy",
"creativeTypeId": 14,
"campaignType": "CPV",
"status": "pending",
"advertiserId": 100419,
"created": 1620024156,
"modifiedDate": 1621571575,
"conversionId": 18
},
{
"id": 176880,
"name": "Campaign to test duplicate update",
"creativeTypeId": 14,
"campaignType": "CPV",
"status": "pending",
"advertiserId": 100419,
"created": 1620024050,
"modifiedDate": 1621571575,
"conversionId": 18
},
{
"id": 176879,
"name": "to test campaign duplication",
"creativeTypeId": 11,
"campaignType": "CPM",
"status": "pending",
"advertiserId": 100419,
"created": 1620023582,
"modifiedDate": 1620024188
},
{
"id": 176148,
"name": "campaign to test Inventory group and all device type",
"creativeTypeId": 11,
"campaignType": "CPM",
"status": "pending",
"advertiserId": 100419,
"created": 1618990887,
"modifiedDate": 1618992828
},
{
"id": 173357,
"name": "test cb",
"creativeTypeId": 11,
"campaignType": "CPM",
"status": "running",
"advertiserId": 100001,
"created": 1617170692,
"modifiedDate": 1619433624
},
{
"id": 173353,
"name": "test cb",
"creativeTypeId": 11,
"campaignType": "CPM",
"status": "running",
"advertiserId": 100001,
"created": 1617163055,
"modifiedDate": 1619433624
},
{
"id": 173318,
"name": "test cb1",
"creativeTypeId": 11,
"campaignType": "CPM",
"status": "running",
"advertiserId": 100001,
"created": 1617130075,
"modifiedDate": 1619433624
},
{
"id": 173317,
"name": "test cb",
"creativeTypeId": 11,
"campaignType": "CPM",
"status": "running",
"advertiserId": 100001,
"created": 1617126490,
"modifiedDate": 1619433624
},
{
"id": 173316,
"name": "test old cb",
"creativeTypeId": 11,
"campaignType": "CPM",
"status": "running",
"advertiserId": 100001,
"created": 1617125771,
"modifiedDate": 1619433624
},
{
"id": 169459,
"name": "test daily",
"creativeTypeId": 11,
"campaignType": "CPM",
"status": "pending",
"advertiserId": 100419,
"created": 1611734667,
"modifiedDate": 1618992828
}
],
"filteredRecords": 1039
}
}

Get list of campaigns with basic details​

GET

Returns a paginated list of campaigns with their basic details.

Query parameters
search_field
string
Search results by keyword.
no_of_entries
integer
Maximum number of entries returned, default: 50.
pgno
integer
Page number for the data, default: 1.
order
string
Sorts by ascending (asc) or descending (desc).
creative_type_ids
integer
Filter by creative type ID.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
created_time_of_creative
string
Filter by creative creation time.
status
string
Filter by multiple statuses.
Supported values: running, pending, paused, draft, rejected, expired.
ow_ids
integer
Filter by Organization Workspace IDs.
Response 200
{
"statusCode": 200,
"recordsTotal": 1,
"pageNumber": 1,
"pageSize": 50,
"draw": 0,
"recordsFiltered": 1,
"data": [
{
"id": "214269",
"name": "Name Edit Test_UI",
"status": "pending",
"owId": 1000,
"uowId": 1,
"advertiser_email": null,
"advertiser_id": 0,
"campaign_type": "CPM",
"creative_type": "HTML",
"dsp_id": 0,
"start_date": 1632873600,
"end_date": 1632829200,
"creative_type_id": 13,
"total_budget": 1000
}
]
}

Get basic details of campaigns​

POST
Request schema
pageNo
integer
Page number of retrieved data, default: 1.
noOfEntries
integer
Number of entries returned per page, default: 20, maximum: 500.
sortBy
string
Sorts results by specified field.
order
string
Sorts by ascending (asc) or descending (desc).
searchField
string
Filter results by search field.
campaignIds
array of integers
Filters results by provided campaign IDs.
owIds
array of integers
Filters results by provided OW IDs.
status
array of strings
Filters results by provided campaign statuses.
responseFields
array of strings
Choose which values to return in response, supported: id, campaignId, name,creativeTypeId, status, startTime, endTime, createdAt, modifiedAt, owId, organizationName, organizationLogo.
creativeTypeIds
array of integers
Filters results by provided creative type IDs.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
campaignTypeIds
array of integers
Filter results by campaign type IDs.
Supported values
1Advanced campaign
2PG campaign
isAllOwIds
boolean
Filters records with all allowed OW IDs if true, prioritizes records over owIds.
ids
array of integers
Prioritizes results of provided campaign group IDs over other records.
ioIdsList
array of integers
Filters results by provided insertion order IDs.
Request sample
{
"isAllOwIds": false,
"owIds": [
200002
],
"searchField": "",
"pageNo": 1,
"noOfEntries": 50
}
Response 200
{
"success": true,
"data": {
"data": [
{
"campaignId": 273438,
"name": "Campaign-1",
"creativeTypeId": 11,
"campaignTypeId": 1,
"status": "deleted",
"startTime": 1658217468,
"endTime": 1658303868,
"createdAt": 1658217469,
"modifiedAt": 1661150517,
"owId": 200002,
"organizationName": "Organization-1",
"organizationLogo": "https://iqm-web-assets-c92d6b6cbde1-stage.s3.amazonaws.com/avatar/SA.png",
"ioId": 1,
"ioStatusId": 1,
"timezoneId": 11,
"ioBudgetTypeId": 1,
"ioName": "Name Insertion Order"
},
{
"campaignId": 261497,
"name": "Campaign-2",
"creativeTypeId": 11,
"campaignTypeId": 1,
"status": "running",
"startTime": 1653551400,
"endTime": 1674777600,
"createdAt": 1653550497,
"modifiedAt": 1661150407,
"owId": 200002,
"organizationName": "Organization-1",
"organizationLogo": "https://iqm-web-assets-c92d6b6cbde1-stage.s3.amazonaws.com/avatar/SA.png",
"ioId": 1,
"ioStatusId": 1,
"timezoneId": 11,
"ioBudgetTypeId": 1,
"ioName": "Name Insertion Order"
}
],
"totalRecords": 2,
"filteredRecords": 50
}
}

Get campaign audience targeting details​

POST

Get a list of audience IDs and type for each campaign ID.

Request schema
campaignIds
array of integers
Campaign IDs.
Response properties
campaignId
object
Name-value pairs of campaignId and its object properties.
campaignId object properties
audienceTypeId
integer
Audience type ID.
Supported values
1Matched audience
2Segmented audience
3Retargeted audience
4Geofarmed audience
5Contextual audience
6Lookalike audience
7Campaign audience
8Pre-bid audience
9Account Based Marketing (ABM) audience
10Custom Voter audience (CVA)
11Integrated Care Team (ICT) audience
12Power Segment audience
audienceIds
array of integers
Audience IDs.
Request sample
{
"campaignIds": [
52241,
50322
]
}
Response 200
{
"success": true,
"data": {
"543363": [],
"553441": [
{
"audienceTypeId": 1,
"audienceIds": [
1101833,
1101834,
1101835,
1102476
]
}
],
"553443": [
{
"audienceTypeId": 1,
"audienceIds": [
1101831,
1101835,
1102476
]
},
{
"audienceTypeId": 9,
"audienceIds": [
1124205,
1124206
]
}
]
}
}

Get list of campaigns with filters​

POST

Filter campaign list by the following parameters:

Request schema
searchField
string
Filter results by search field.
noOfEntries
integer
Number of entries returned per page, default: 20, maximum: 500.
pageNo
integer
Page number of retrieved data, default: 1.
sortBy
string
Sorts by specified field.
order
string
Sorting order, ascending (asc) or descending (desc).
campaignIds
array of integers
Filter results by campaign IDs.
owIds
array of integers
Filter results by Organization Workspace IDs.
status
array of strings
Filter results by statuses.
created
integer
Date created, unix epoch.
isBasicInfo
boolean
If true returns fewer details, if false returns all details.
creativeTypeIds
array of integers
Filter results by creative type IDs.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
campaignTypeIds
array of integers
Filter results by campaign type IDs.
Supported values
1Advanced campaign
2PG campaign
ids
array of integers
Prioritizes results of provided campaign IDs over other records.
Request sample
{
"isBasicInfo": true,
"sortBy": "modifiedDate",
"pageNo": 1,
"noOfEntries": 10,
"status": "pending",
"searchField": "",
"owIds": "all",
"creativeTypeIds": "",
"campaignTypeIds": [
2
],
"created": ""
}
Response 200
{
"success": true,
"data": {
"totalRecords": 5435,
"data": [
{
"owId": 201900,
"parentOrganizationName": "Yashwant Ad Org",
"id": 440264,
"name": "QA Dollar API Pending - 233",
"creativeType": "Image",
"creativeTypeId": 11,
"budgetTotal": 10000,
"budgetDay": 50,
"maxBid": 21,
"startTime": 1695873600,
"uowId": 106792,
"status": "pending",
"created": 1695793014,
"modifiedDate": 1695793014,
"userName": "Yashwant",
"timeZoneName": null,
"endTime": 0,
"totalSpent": 0,
"organizationName": "Yashwant Ad workspace",
"userEmail": "yashwant.p+adv@iqm.com",
"budgetTypeId": 1,
"impression": 0,
"campaignTypeId": 2,
"pgPaymentTypeId": 2,
"totalImpressions": 0,
"isParentInvoiceTemplateSet": true,
"isApprovalAccess": true,
"isEditAccess": true,
"isMarginSet": true
},
{
"owId": 201923,
"parentOrganizationName": "Yashwant Ad Org",
"id": 440133,
"name": "IMP camp budget API - 296",
"creativeType": "Image",
"creativeTypeId": 11,
"budgetTotal": 100,
"budgetDay": 2.2,
"maxBid": 10,
"startTime": 1697700365,
"uowId": 107184,
"status": "pending",
"created": 1695744164,
"modifiedDate": 1695744164,
"userName": "Yashwant adv4",
"timeZoneName": null,
"endTime": 0,
"totalSpent": 0,
"organizationName": "Sample adv4",
"userEmail": "yashwant.p+adv4@iqm.com",
"budgetTypeId": 2,
"campaignTypeId": 1,
"impression": 0,
"totalImpressions": 10000,
"isParentInvoiceTemplateSet": true,
"isApprovalAccess": true,
"isEditAccess": true,
"isMarginSet": false
}
],
"filteredRecords": 5435
}
}
More responses
Response 400
{
"success": false,
"errorObjects": [
{
"error": "Please provide valid value of status."
}
]
}

Get campaign budget details​

POST

Calculates and returns campaign budget and impression information. Derives any missing budget or daily-impression value from the supplied combination of total budget, timezone, daily budget, start/end time, and budget type.

When a scheduling map is provided, daily amounts are proportionally distributed across scheduled hours only. Pass isGraphInfoRequired=true to include per-day graph data in the response.

Request schema
campaignId
integer
Campaign ID to get budget info for.
budgetTotal
integer
Campaign total budget.
Note: can be omitted if fixed daily budget, start time, and end time are provided.
budgetDay
integer
Campaign daily budget.
Note: can be omitted if fixed daily budget, start time, and end time are provided.
fixedDailyBudget
boolean
Flag to indicate whether daily budget is fixed or not, default: false.
startTime
integer required
Campaign start time.
endTime
integer
Campaign end time.
Note: can be omitted if fixed daily budget, start time, and end time are provided.
timezone
integer required
Timezone ID.
budgetTypeId
integer
Budget Type ID of given campaign (impression-based or dollar-based).
Supported values
1Budget
2Impression
campaignTypeId
integer
Campaign Type ID, default: 1 (Advanced).
Supported values
1Advanced campaign
2PG campaign
isGraphInfoRequired
boolean
Include per-day graphInfo data in the response: true.
scheduling
object
Map of weekday index (0–6) to an array of [startTime, endTime] string ranges campaign delivery is scheduled for that day.
maxBid
integer
Maximum allowed bid price, used for impression-based PG campaigns.
totalImpressions
integer
Targeted total impressions, used for impression-based PG campaigns.
dailyImpressions
integer
Targeted daily impressions, used for impression-based campaigns.
Response properties
campaignId
integer
Campaign ID, only present when a campaignId was supplied in the request.
budgetTotal
integer
Campaign total budget.
actualSpent
integer
Amount spent by the campaign so far.
budgetDay
integer
Campaign daily budget.
fixedDailyBudget
boolean
Whether daily budget is fixed.
startTime
integer
Campaign start time.
endTime
integer
Campaign end time.
timezone
integer
Timezone ID.
budgetTypeId
integer
Budget Type ID of given campaign (impression-based or dollar-based).
Supported values
1Budget
2Impression
dailyImpressions
integer
Targeted daily impressions, only present for impression-based campaigns.
actualImpressionSpent
integer
Impressions served so far, only present for impression-based campaigns.
totalImpressions
integer
Targeted total impressions, only present for impression-based campaigns.
maxBid
integer
Maximum allowed bid price, only present for impression-based PG campaigns.
spendingBudget
integer
Budget available for delivery after PG fees, only present for PG campaigns.
pgFeesBudget
integer
Budget reserved for PG deal fees, only present for PG campaigns.
graphInfo
array of objects
Per-day budget graph data, only present when isGraphInfoRequired is true.
graphInfo object properties
date
string
Date of the graph data point.
amount
integer
Budget amount for the date.
type
string
Amount type: spent or projected.
Request Sample
{
"campaignId": 12345,
"budgetTotal": 10000.00,
"startTime": 1700000000,
"endTime": 1702678400,
"timezone": 1,
"budgetTypeId": 1,
"isGraphInfoRequired": false,
"scheduling": {
"0": [["09:00:00", "17:00:00"]],
"1": [["09:00:00", "17:00:00"]]
}
}
Response 200
{
"statusCode": 200,
"responseObject": {
"campaignId": 12345,
"budgetTotal": 10000.00,
"budgetDay": 476.19,
"actualSpent": 1200.50,
"fixedDailyBudget": false,
"startTime": 1700000000,
"endTime": 1702678400,
"timezone": 1,
"budgetTypeId": 1,
"graphInfo": []
}
}
More responses
Response 400
{
"statusCode": 400,
"errorObjects": [
{
"error": "Start time is required"
}
]
}

Get list of campaign groups​

POST

Filter campaign list by the following parameters:

Request schema
searchField
string
Filter results by search field.
noOfEntries
integer
Number of entries returned per page, default: 20, maximum: 500.
pageNo
integer
Page number of retrieved data, default: 1.
sortBy
string
Sorts by specified field.
order
string
Sorting order, ascending (asc) or descending (desc).
campaignGroupIds
array of integers
Filter results by campaign group IDs.
owIds
array of integers
Filter results by Organization Workspace IDs.
isAllOwIds
boolean
Filters records with all allowed OW IDs if true, prioritizes records over owIds.
ids
array of integers
Prioritizes results of provided campaign group IDs over other records.
Request sample
{
"pageNo": 1,
"noOfEntries": 20,
"owIds": [],
"ids": [
1235
],
"sortBy": "id",
"order": "asc",
"searchField": ""
}
Response 200
{
"success": true,
"data": {
"data": [
{
"groupId": 1234,
"groupName": "campaign group -1",
"createdDate": 1668201219,
"owId": 1
},
{
"groupId": 1235,
"groupName": "campaign group -2",
"createdDate": 1674798403,
"owId": 1
}
],
"totalRecords": 2,
"filteredRecords": 2
}
}
More responses
Response 400
{
"success": false,
"errorObjects": [
{
"error": "invalid arguments owIds!"
}
]
}

Get deals associated with campaigns​

GET

Get a list of campaigns and their associated deal IDs by campaign Type ID.

Path parameter
campaignTypeId
integer
Campaign type ID.
Supported values
1Advanced campaign
2PG campaign
Response properties
data
object
Name-value pairs of campaignId and an array of deal IDs.
Response 200
{
"success": true,
"data": {
"503584": [
468,
469,
23
],
"503947": [
468,
469
],
"504447": [
468,
469
],
"504448": [
589,
588
],
"505743": [
468,
469
],
"505753": [
468,
469
],
"505754": [
468,
469
],
"505755": [
588,
589
],
"505758": [
468,
469
]
}
}

Get campaign count by status​

POST

This API returns a count of campaigns for each status type.

Request schema
owIds
string
Comma separated Organization Workspace IDs, returns campaign counts (supported: all).
ioIds
string
Comma separated insertion order IDs, returns campaign counts (with owIds = all).
campaignTypeIds
string
Filter results by campaign type IDs (ioIds also required).
Supported values
1Advanced campaign
2PG campaign
campaignExpiredAfterEpoch
integer
Unix epoch timestamp (in milliseconds) expiration.
searchField
string
Returns campaign counts for field matched campaign ID or Name.
Response properties
order
integer
Display order.
status_key
string
Status key.
status_label
string
Status label.
status_count
integer
Campaign count.
Request sample
{
"owIds": "all",
"ioIds": "1,2,3"
}
Response 200
{
"success": true,
"data": [
{
"order": 0,
"status_key": "running",
"status_label": "Running",
"status_count": 10
},
{
"order": 1,
"status_key": "pending",
"status_label": "Pending",
"status_count": 11
},
{
"order": 2,
"status_key": "paused",
"status_label": "Paused",
"status_count": 22
},
{
"order": 5,
"status_key": "deleted",
"status_label": "Deleted",
"status_count": 33
},
{
"order": 6,
"status_key": "expired",
"status_label": "Expired",
"status_count": 44
},
{
"order": 3,
"status_key": "draft",
"status_label": "Draft",
"status_count": 55
},
{
"order": 7,
"status_key": "rejected",
"status_label": "Rejected",
"status_count": 66
},
{
"order": 8,
"status_key": "all",
"status_label": "ALL",
"status_count": 77
}
]
}

Get campaign count with campaign type​

POST

Returns values of campaign types with count of campaigns.

Request schema
budgetTypeIds
array of integers
Filters results for selected budget type ID: dollar-based campaign or impression-based campaign.
Supported values
1Budget
2Impression
statusList
array of strings
Filters results for types of campaign statuses.
countRequired
boolean
Returns campaigns count with campaign type if true.
campaignIds
array of integers
Filters results for selected campaign IDs.
ioIds
array of integers
Filters results for selected insertion order IDs.
creativeTypeIds
array of integers
Filters results for creative type IDs.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
Properties
Advanced
ID: 1
Campaign with audience, impressions, and bid optimization settings.
PG
ID: 2
Campaign associated with PG deal.
Response properties
campaignTypeDetails
object
Campaign type details.
campaignTypeDetails object properties
id
integer
Campaign type ID.
order
integer
Display order.
name
integer
Campaign type name.
label
integer
Campaign type label.
count
integer
Campaign count.
Request sample
{
"statusList": [
"pending"
],
"creativeTypeIds": [
11
],
"budgetTypeIds": [
1
],
"campaignIds": [
23434,
46453
],
"countRequired": "true"
}
Response 200
{
"success": true,
"data": {
"totalRecords": 2,
"filteredRecords": 2,
"campaignTypeDetails": [
{
"id": 1,
"order": 1,
"name": "advanced",
"label": "Advanced",
"count": 1
},
{
"id": 2,
"order": 2,
"name": "pg",
"label": "PG",
"count": 3
}
]
}
}

Get campaign count by creative type​

GET

Get a count of campaigns by creative type ID and given Organization Workspace IDs.

Query parameters
sortType
string
Sort by ascending (asc) or descending (desc).
creativeTypeIds
integer
Comma separated creative type IDs, supported values:
Image: 11.
HTML: 13.
Video: 14.
Ticker Banner: 16.
Audio: 17.
GOTV: 18.
searchField
string
Filter results by search field.
owIds
integer
Filter results by comma separated Organization Workspace IDs.
Response properties
order
integer
Display order.
status_key
string
Status key.
status_label
string
Status label.
status_count
integer
Campaign count.
Response 200
{
"statusCode": 200,
"responseObject": [
{
"order": 0,
"status_key": "running",
"status_label": "Running",
"status_count": 14
},
{
"order": 2,
"status_key": "paused",
"status_label": "Paused",
"status_count": 3
},
{
"order": 7,
"status_key": "all",
"status_label": "ALL",
"status_count": 17
}
]
}

Get creative type and campaigns count​

POST
Request schema
owIds
array of integers
Filters results by Organization Workspace IDs.
ioIds
array of integers
Filters results by insertion order IDs.
status
string
Filters results based on list of statuses, pass empty string to filter for all statuses.
statusList
array of strings
Filters results for types of campaign statuses.
Response properties
count
integer
Campaign count.
creativeType
string
Creative type.
creativeTypeId
integer
Creative type ID.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
Request sample
{
"ioIds": [
0
],
"owIds": [
0
],
"status": "string",
"statusList": [
"string"
]
}
Response 200
{
"success": true,
"data": [
{
"count":3,
"creativeType": "Image",
"creativeTypeId": 11
},
{
"count": 0,
"creativeType": "HTML",
"creativeTypeId": 13
},
{
"count": 0,
"creativeType": "Video",
"creativeTypeId": 14
},
{
"count": 1,
"creativeType": "Audio",
"creativeTypeId": 17
},
]
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Invalid ioIds."
}
]
}

Get campaign conversion list​

GET

Get a list of conversion details. See the Conversions API for more details.

Query parameters
conversionIds
string
Comma separated conversion IDs.
owId
integer
Organization Workspace ID.
Response properties
id
integer
Conversion ID.
name
string
Conversion name.
status
string
Conversion status.
created
integer
Unix epoch timestamp of conversion creation time.
{
"success": true,
"data": {
"totalRecords": 2,
"conversionData": [
{
"id": 3436,
"name": "pixel conversion-1",
"status": "Active",
"created": 1688369815
},
{
"id": 3434,
"name": "pixel conversion-2",
"status": "Active",
"created": 1688369669
}
],
"filteredRecords": 2
}
}
{
"success": true,
"data": {
"totalRecords": 1,
"conversionData": [
{
"id": 3903,
"name": "App Track",
"created": 1689147625,
"partnerName": "Singular",
"logoUrl": "https://logo-bucket/partners/singular.png"
}
],
"filteredRecords": 1
}
}

Get basic conversion list​

GET

Get a basic list of conversion details. See the Conversions API for more details.

Query parameters
excludeConversionIds
string
Exclude specified conversion IDs from results.
owId
integer
Organization Workspace ID.
conversionTypeId
integer
Filter results by conversion type ID.
Supported values
1Pixel
2Postback
3Universal Pixel
searchField
string
Filter results by search field.
sortBy
string
Sorts by ascending (+) or descending (-), default: -created.
limit
integer
Number of entries returned per page, default: 20.
pageNo
integer
Page number of retrieved data, default: 1.
Response properties
id
integer
Conversion ID.
name
string
Conversion name.
uuid
string
Conversion UUID.
typeId
integer
Conversion type ID.
Supported values
1Pixel
2Postback
3Universal Pixel
owId
integer
Organization Workspace ID.
createdByUowId
integer
Creator's Organization Workspace ID.
modifiedByUowId
integer
Modifier's Organization Workspace ID.
statusId
integer
Conversion status ID.
created
integer
Unix epoch timestamp of conversion creation time.
postbackPartnerId
integer
Postback partner ID, only for Postback conversions.
Response 200
{
"success": true,
"data": {
"data": [
{
"id": 3991,
"name": "Name of Conversion",
"uuid": "80543cfa18674057923df7aa1fa1f8d6",
"typeId": 2,
"owId": 201427,
"createdByUowId": 9480,
"modifiedByUowId": 9480,
"statusId": 1,
"created": 1689378218,
"postbackPartnerId": 2
}
],
"totalRecords": 28,
"filteredRecords": 1
}
}

Get campaign start date​

GET

Get campaign start date.

Response properties
start_time
integer
Unix epoch timestamp of campaign start time.
Response 200
{
"statusCode": 200,
"responseObject": {
"start_time": 1632286201
}
}

Get list of campaign start dates or end dates​

POST
POST

Get a paginated list of campaign's start dates with supported filters.

Request schema
pageNo
integer
Page number of retrieved data, default: 1.
noOfEntries
integer
Number of entries returned per page, default: 300.
sortBy
string
Sorts by ascending (+) or descending (-), default: -campaignDate.
startDate
string
Filter results by campaign start date, only returns results that have a start date greater than the specified date.
endDate
string
Filter results by campaign end date, only returns results that have an end date less than the specified date.
ids
array of integers
Prioritizes selected campaigns over other dates in response.
isAllOwIds
boolean
Filter results with all allowed OW IDs, if true prioritizes over owIds.
owIds
array of integers
Filters for specified Customer OW IDs.
Response properties
data
array of strings
List of dates.
Request sample
{
"noOfEntries": 10,
"pageNo": 1,
"owIds": [],
"ids": [],
"searchField": "",
"sortBy": "-campaignDate"
}
Response 200
{
"success": true,
"data": {
"data": [
"02/21/2023",
"01/27/2023",
"01/20/2023",
"01/11/2023",
"01/06/2023",
"01/05/2023",
"12/29/2022",
"12/28/2022",
"12/23/2022",
"12/22/2022"
],
"totalRecords": 42,
"filteredRecords": 42
}
}

Get campaign report data​

GET

Get report data by campaign IDs and other filters.

Query parameters
searchField
string
Search results by ID or name.
limit
integer
Number of entries returned per page, default: 10.
pageNo
integer
Page number of retrieved data, default: 1.
sortBy
string
Sorts by ascending (+) or descending (-), default: -created.
Supported values: created, name, id, status, modifiedDate.
status
string
Filter results by the following status values: running, paused, pending, expired, draft.
conversionId
integer
Filter results by conversion ID.
campaignIds
integer
Filter results by comma separated campaign IDs.
Response properties
id
integer
Report ID.
name
string
Report name.
status
string
Report status.
clicks
integer
Clicks count.
impression
integer
Impressions count.
conversionCount
integer
Conversion count.
uniqueCount
integer
Uniques count.
creativeType
string
Creative type.
Response 200
{
"success": true,
"data": {
"totalRecords": 290,
"data": [
{
"id": 240946,
"name": "Campaign-1",
"status": "draft",
"clicks": 0,
"impression": 0,
"conversionCount": 0,
"uniqueCount": 0,
"creativeType": "VIDEO"
},
{
"id": 241058,
"name": "Campaign-2",
"status": "expired",
"clicks": 0,
"impression": 0,
"conversionCount": 0,
"uniqueCount": 0,
"creativeType": "IMAGE"
}
],
"filteredRecords": 290
}
}

Campaign management​

Create, update and manage campaigns.

Create new campaign​

POST
POST

Create a new campaign in pending or draft status.

Request schema
campaignName
string
Campaign name.
isAgreementChecked
boolean
Check to proceed: true.
ioId
string
Insertion order ID that campaign belongs to.
templateId
integer optional
Campaign template ID to create the campaign from.
countryId
string
Country ID.
advertiserDomain
string
Advertiser domain.
creativeType
integer
Creative type ID.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
campaignType
integer
Campaign type ID.
Supported values
1Advanced campaign
2PG campaign
startTime
integer
Campaign start time.
endTime
integer
Campaign end time (required if total budget pacing is enabled).
excludeFromPlatformServing
boolean optional
Exclude campaign from platform serving.
forTest
boolean optional
Indicates campaign for test.
dspMarginJson
string optional
Campaign DSP margin JSON.
platformMarginJson
string optional
Campaign platform margin JSON.
dspMargin
integer optional
Campaign DSP margin number.
platformMargin
integer optional
Campaign platform margin number.
userDealMargin
integer optional
Campaign user deal margin number.
totalBudgetPacing
boolean
Budget is spent equally every hour: true.
budgetDay
integer
Daily budget for campaign serving daily (not applicable if budget pacing is set to true).
budgetTotal
integer
Total budget for campaign serving period.
budgetTypeId
integer
Budget type ID.
Supported values
1Budget
2Impression
maxBid
integer
Max bid for each bid request.
minBid
integer optional
Minimum bid for each bid request.
allowedMinBid
integer optional
Server-enforced minimum bid floor allowed for this campaign.
totalCPM
integer optional
Total CPM for the campaign.
thirdPartyCost
integer optional
Campaign-level 3rd-party cost override, between 0 and 999. Omit to keep the account-level cost applied. Only honored when 3rd-party cost is active and campaign-level editing is enabled for the Advertiser's workspace.
timezone
integer
Timezone ID for campaign.
creativeIds
string
Comma separated creative IDs.
bidOptimization
boolean optional
Optimize bid price based on analysis: true.
bidPacing
boolean optional
Budget is spent equally every hour: true.
impressionCapping
integer optional
Maximum impressions in one inventory.
frequencyCapEnabled
boolean optional
Enables frequency capping via frequencyCapping: true.
frequencyCapping
object optional
Map of frequency cap type ID to cap duration/value, keyed by the recurrence period the cap applies over.
Supported values
1Day(s)
2Week(s)
3Month(s)
4Campaign duration
frequencyCapping entry properties
frequencyCapDuration
integer
Number of days/weeks/months the cap spans (per the key's type); must be 0 for the "campaign duration" type (ID 4).
frequencyCapValue
integer
Maximum impressions allowed within frequencyCapDuration.
maxDayClicks
integer optional
Maximum daily clicks.
totalClicks
integer optional
Total clicks.
maxDayImpressions
integer optional
Maximum daily impressions.
totalImpressions
integer optional
Total impressions.
maxDayConversions
integer optional
Maximum daily conversions.
totalConversions
integer optional
Total conversions.
spentScale
boolean optional
Spent scale on/off.
targetCPI
integer optional
Target CPI (cost per install) for campaign Serving.
conversionType
string optional
User conversion type.
Allowed values: install, non-install.
conversionTypeId
integer
Conversion type ID.
Supported values
1Pixel
2Postback
3Universal Pixel
conversionIds
string optional
Comma separated conversion IDs for targeting (Note: conversions can be assigned, updated, or removed from a campaign only before the campaign is running.).
appURL
string optional
If conversion type is install, specify URL of inventory.
carriers
string optional
Comma separated carrier IDs for targeting.
networkType
string optional
Comma separated network type IDs for tareting.
deviceType
string optional
Comma separated device type IDs for targeting.
Supported values
11Mobile
12Tablet
13Connected TV
15Desktop
trafficType
string optional
Comma separated traffic type IDs for targeting.
Supported values
11App
14CTV
13OTT
12Web
manufacturer
string optional
Comma separated manufacturer IDs for targeting.
os
string optional
Comma separated OS IDs for targeting.
osVersion
string optional
Comma separated OS version IDs for targeting.
exchanges
string
Comma separated exchange IDs for targeting (leave string empty to select all).
prebidAudienceSegmentIdList
array of integersoptional
Pre-bid audience segment IDs to attach campaign to segment IDs.
device
string optional
Comma separated device type IDs for targeting.
Supported values
11Mobile
12Tablet
13Connected TV
15Desktop
publisherAdCategory
string
Comma separated publisher ad category IDs for targeting (leave string empty to select all).
userDealId
string optional
Comma separated user Deal IDs.
groupDealId
string optional
Comma separated group Deal IDs.
politicalAdvertiserClientId
integer optional
Political Advertiser ID for political campaign.
advertiserType
string optional
Type of advertiser for the campaign. Set to political to mark the campaign as a political campaign; used together with politicalAdvertiserClientId.
stateIds
string optional
Comma separated state IDs for targeting.
dmaIds
string optional
Comma separated DMA IDs for targeting.
zipcodes
string optional
Comma separated ZIP codes for targeting.
congressionalDistrictIds
string optional
Comma separated congressional district IDs for targeting.
senateDistrictIds
string optional
Comma separated senate district IDs for targeting.
houseDistrictIds
string optional
Comma separated house district IDs for targeting.
gotvLocationId
integer optional
GOTV (get-out-the-vote) location ID for political campaign targeting.
locationFileIds
string optional
Comma separated CSV file IDs for custom locations.
geoRadiusDetails
array of objects optional
Custom geographic areas (radius, polygon, or rectangle) to target, with coordinates, radius, and unit.
radiusUpdatedLocations
object optional
Map of location ID to updated radius value for a previously targeted custom area.
removedLocationIds
string optional
Comma separated location IDs to remove from a previously uploaded location file (must be present in locationFileIds).
ageRangeIds
string optional
Comma separated age range IDs for targeting.
genderIds
string optional
Comma separated gender IDs for targeting.
interestIds
string optional
Comma separated interest IDs for targeting.
incomeRangeIds
string optional
Comma separated income range IDs for targeting.
languageIds
string optional
Comma separated language IDs for targeting.
ethnicityIds
string optional
Comma separated ethnicity IDs for targeting.
scheduling
string optional
key as [0 to 6] maps to [Monday to Sunday] & values [['hh:mm:ss','hh:mm:ss'], ...].
campaignIabCategoryIds
string optional
Comma separated IAB category IDs.
isAdvanceAudioVideoTargeted
boolean
Indicates advanced targeting is enabled (true): creativeAdvanceTargeting is optional and it is assumed that every video creative segment is targeted.
isBidShading
boolean optional
Indicates Bid shading is enabled: true.
creativeAdvanceTargeting
JSON optional
String to integer map of creative advanced targeting group to list of creative advance targeting segment IDs.
campaignEstimatorMetaData
JSON optional
Campaign Estimator data with reachMeta, landScapeMeta and sliderMeta.
campaignOptimizationType
string optional
Toggles AI optimization for the campaign.
Allowed values: ai_based, rule_based.
When ai_based, campaignOptimization is required.
When rule_based, any campaignOptimization sent is ignored.
campaignOptimization
object optional
Campaign optimization settings for Goal-AI.
Required when campaignOptimizationType is ai_based.
campaignOptimization object properties
aiObjective
integer
AI optimization objective ID.
Supported values
1Awareness
2Consideration
3Conversion
aiGoal
integer
AI optimization goal ID.
Supported values
1Increase reach
2Increase CTR
3Increase VCR
4Increase ACR
6Increase conversion rate
7Increase ROAS
9Reduce CPC
10Reduce CPCV
11Reduce CPA
aiTargetKpi
integer
AI target KPI value.
aiConversionId
integer
Conversion ID for AI optimization.
inventoryKeywords
array of strings optional
Keywords to target inventory by contextual match, e.g. Clothing, Education.
inventoryUrls
array of strings optional
URLs of specific inventory placements to target.
pmpDealIds
array of integers optional
PMP deal IDs to assign/de-assign to/from campaigns.
creativesPlacementMapping
object optional
Creative to placement mapping.
isTvAd
boolean optional
Indicates the campaign is a TV ad (OTT/CTV buying): true. When enabled, creativeType must be video, and deviceType/trafficType must be Connected TV, OTT, and CTV; advanced creative targeting can't be applied.

Response properties
data
integer
Campaign ID.
message
string
Success message.
status
string
Campaign status.
Request sample
{
"campaignName": "Sample campaign name ",
"isAgreementChecked": true,
"advertiserDomain": "https://www.example.com",
"creativeType": 14,
"budgetTotal": 100,
"budgetTypeId": 1,
"startTime": 1598427074,
"budgetDay": 18,
"timezone": 105,
"creativeIds": "100027,100028",
"maxBid": 10,
"minBid": 1,
"allowedMinBid": 0.5,
"totalCPM": 8,
"bidOptimization": false,
"bidPacing": true,
"isBidShading": true,
"impressionCapping": 2,
"frequencyCapEnabled": true,
"frequencyCapping": {
"1": {
"frequencyCapDuration": 6,
"frequencyCapValue": 5
},
"4": {
"frequencyCapDuration": 0,
"frequencyCapValue": 100
}
},
"conversionType": "install",
"conversionTypeId": 1,
"appURL": "https://www.example.com",
"totalBudgetPacing": false,
"carriers": "293,294",
"networkType": "13",
"deviceType": "15",
"trafficType": "11",
"manufacturer": "451,155",
"os": "11,14",
"osVersion": "11,12,13",
"exchanges": "27,21",
"publisherAdCategory": "112",
"userDealId": "1,2,b",
"countryId": 246,
"ioId": "20",
"politicalAdvertiserClientId": 17,
"locationFileIds": "1011,1010",
"stateIds": "30200031,30200032",
"prebidAudienceSegmentIdList": [
10,
11,
12
],
"campaignEstimatorMetaData": {
"reachMeta": {},
"landScapeMeta": {},
"sliderMeta": {}
},
"campaignOptimizationType": "ai_based",
"campaignOptimization": {
"aiObjective": 1,
"aiGoal": 8,
"aiTargetKpi": 10
},
"isAdvanceAudioVideoTargeted": true,
"creativeAdvanceTargeting": {
"placementType": [
20600001
],
"rollPosition": [
20700001
],
"playerSize": [
20800001
],
"skippability": [
20900001
],
"playbackMethod": [
21000001
]
},
"inventoryKeywords": [
"Clothing",
"Education"
],
"inventoryUrls": [
"https://www.google.com",
"https://www.iqm.com"
]
}
Response 200
{
"statusCode": 201,
"responseObject": {
"data": 123456,
"message": "Campaign saved successfully.",
"status": "pending"
}
}

Update campaign​

PATCH
PUT

Update a campaign's properties.

When updating an impression-based campaign that has never had totalImpressions set (most commonly, one still in draft), budgetTotal and totalImpressions are required. For a dollar-based campaign, provide the applicable budget value. For an impression-based campaign, provide the applicable impressions value. Otherwise provide 0 for the respective field.

info

If campaign is in draft status, this API will automatically update status from draft to pending. In all other cases status will not be updated.

Path parameters
campaignId
integer
Campaign ID.
Supported properties
id
integer
Campaign ID.
campaignName
string
Campaign name.
isAgreementChecked
boolean
Check to proceed: true.
countryId
integer
Country ID.
advertiserDomain
string
Advertiser domain.
creativeType
integer
Creative type ID.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
campaignType
integer
Campaign type ID.
Supported values
1Advanced campaign
2PG campaign
totalBudgetPacing
boolean
Budget is spent equally every hour: true.
budgetDay
integer
Daily budget for campaign serving daily.
budgetTotal
integer required
Total budget for campaign serving period.
Required when editing a draft campaign.
For a dollar-based campaign, provide the applicable budget value. For an impression-based campaign, pass 0.
budgetTypeId
integer
Budget type ID of the campaign.
Supported values
1Budget
2Impression
maxBid
integer
Max bid for each bid request.
minBid
integer
Minimum bid for each bid request.
totalCPM
integer
Total CPM for the campaign.
thirdPartyCost
integer
Campaign-level 3rd-party cost override, between 0 and 999. Omit to keep the current cost applied. Only honored when 3rd-party cost is active and campaign-level editing is enabled for the Advertiser's workspace.
timezone
integer
Timezone ID for campaign.
startTime
integer
Campaign start time.
endTime
integer
Campaign end time.
status
string
Status of campaign.
excludeFromPlatformServing
boolean
Exclude campaign from platform serving.
forTest
boolean
Indicates campaign for test.
modifiedDate
integer
Campaign modified date.
dspMarginJson
string
Campaign DSP margin JSON.
platformMarginJson
string
Campaign platform margin JSON.
dspMargin
integer
Campaign DSP margin number.
platformMargin
integer
Campaign platform margin number.
userDealMargin
integer
Campaign user deal margin number.
bidStrategyFlag
boolean
Bid strategy allowed or not for user.
bidOptimization
boolean
Optimize bid price based on analysis: true.
bidPacing
boolean
Budget is spent equally every hour: true.
impressionCapping
integer
Maximum impressions in one inventory.
frequencyCapEnabled
boolean
Enables frequency capping via frequencyCapping: true.
frequencyCapping
object
Map of frequency cap type ID to cap duration/value, keyed by the recurrence period the cap applies over.
Supported values
1Day(s)
2Week(s)
3Month(s)
4Campaign duration
frequencyCapping entry properties
frequencyCapDuration
integer
Number of days/weeks/months the cap spans (per the key's type); must be 0 for the "campaign duration" type (ID 4).
frequencyCapValue
integer
Maximum impressions allowed within frequencyCapDuration.
maxDayClicks
integer
Maximum daily clicks.
totalClicks
integer
Total clicks.
maxDayImpressions
integer
Maximum daily impressions.
totalImpressions
integer required
Total impressions.
Required when editing a draft campaign.
For an impression-based campaign, provide the applicable impressions value. For a dollar-based campaign, pass 0.
maxDayConversions
integer
Maximum daily conversions.
totalConversions
integer
Total conversions.
spentScale
boolean
Spent scale on/off.
creativeIds
string
Targeted creative IDs.
targetCPI
integer
Target CPI for campaign Serving.
conversionType
string
User conversion type.
Allowed values: install, non-install.
conversionTypeId
integer
Conversion type ID.
Supported values
1Pixel
2Postback
3Universal Pixel
conversionIds
string
Comma separated conversion IDs for targeting (Note: conversions can be assigned, updated, or removed from a campaign only before the campaign is running.).
appURL
string
If conversion type is install, specify URL of inventory.
technologyFlag
boolean
Technology enabled or disabled based on policy of user.
carriers
string
Comma separated carrier IDs for targeting.
networkType
string
Network targeting. Value in form of String of comma separated IDs of targeted network(s).
deviceType
string
Comma separated device type IDs for targeting.
Supported values
11Mobile
12Tablet
13Connected TV
15Desktop
trafficType
string
Comma separated traffic type IDs for targeting.
Supported values
11App
14CTV
13OTT
12Web
manufacturer
string
Comma separated manufacturer IDs for targeting.
os
string
Comma separated OS IDs for targeting.
osVersion
string
OS version targeting. Value in form of String of comma separated IDs of targeted OS version based on targeted OS.
exchanges
string
Comma separated exchange IDs for targeting.
prebidAudienceSegmentIdList
array of integers
Pre-bid audience segment IDs to attach campaign to segment IDs.
device
string
Targeted devices as string.
publisherAdCategory
string
Comma separated publisher ad category IDs for targeting.
userDealId
string
User specific deal IDs. Value in form of String of comma separated deal IDs.
groupDealId
string
Group of selected deals. Value in form of String of comma separated deal IDs.
politicalAdvertiserClientId
integer
ID of political Advertiser in case of campaign is political campaign.
advertiserType
string
Type of advertiser for the campaign. Set to political to mark the campaign as a political campaign; used together with politicalAdvertiserClientId.
stateIds
string
Comma separated state IDs for targeting.
dmaIds
string
Comma separated DMA IDs for targeting.
zipcodes
string
Comma separated ZIP codes for targeting.
locationFileIds
string
Target location by uploading file. Value in form of String of comma separated csv file IDs.(pre uploaded).
ageRangeIds
string
Comma separated age range IDs for targeting.
genderIds
string
Comma separated gender IDs for targeting.
interestIds
string
Comma separated interest IDs for targeting.
incomeRangeIds
string
Comma separated income range IDs for targeting.
languageIds
string
Comma separated language IDs for targeting.
ethnicityIds
string
Comma separated ethnicity IDs for targeting.
scheduling
string
key as [0 to 6] maps to [Monday to Sunday] & values [['hh:mm:ss','hh:mm:ss'], ...].
campaignIabCategoryIds
string
Comma separated IAB category IDs for targeting. Only super user can update IAB categories.
isAdvanceAudioVideoTargeted
boolean
To indicate if the advance targeting is enabled if this is true, 'creativeAdvanceTargeting' is optional and it is assumed that every video creative segment is targeted.
isBidShading
boolean
To indicate if the bid shading is enabled.
creativeAdvanceTargeting
JSON
String to Integer Map of creative advanced targeting group to list of creative advance targeting segment IDs.
campaignEstimatorMetaData
JSON
Campaign Estimator data with reachMeta, landScapeMeta and sliderMeta.
campaignOptimizationType
string
Toggles AI optimization for the campaign.
Allowed values: ai_based, rule_based.
When ai_based, campaignOptimization is required.
When rule_based, any campaignOptimization sent is ignored.
campaignOptimization
object
Campaign optimization settings for Goal-AI.
Required when campaignOptimizationType is ai_based.
campaignOptimization object properties
aiObjective
integer
AI optimization objective ID.
Supported values
1Awareness
2Consideration
3Conversion
aiGoal
integer
AI optimization goal ID.
Supported values
1Increase reach
2Increase CTR
3Increase VCR
4Increase ACR
6Increase conversion rate
7Increase ROAS
9Reduce CPC
10Reduce CPCV
11Reduce CPA
aiTargetKpi
integer
AI target KPI value.
aiConversionId
integer
Conversion ID for AI optimization.
inventoryKeywords
array of strings
Keywords to target inventory by contextual match, e.g. Clothing, Education.
inventoryUrls
array of strings
URLs of specific inventory placements to target.
pmpDealIds
array of integers
PMP deal IDs to assign/de-assign to/from campaigns.
creativesPlacementMapping
object
Creative to placement mapping.
isTvAd
boolean
Indicates the campaign is a TV ad (OTT/CTV buying): true. When enabled, creativeType must be video, and deviceType/trafficType must be Connected TV, OTT, and CTV; advanced creative targeting can't be applied.

Response properties
data
integer
Campaign ID.
message
string
Success message.
status
string
Campaign status.
Request sample
{
"campaignName": "Sample Campaign name ",
"isAgreementChecked": true,
"advertiserDomain": "https://www.example.com",
"creativeType": 14,
"budgetTotal": 100,
"startTime": 1598427074,
"budgetDay": 18,
"timezone": 105,
"creativeIds": "100027,100028",
"maxBid": 10,
"bidOptimization": false,
"bidPacing": true,
"isBidShading": true,
"impressionCapping": 2,
"conversionType": "install",
"conversionTypeId": 1,
"appURL": "https://www.example.com",
"totalBudgetPacing": false,
"carriers": "293,294",
"networkType": "13",
"deviceType": "15",
"trafficType": "11",
"manufacturer": "451,155",
"os": "11,14",
"osVersion": "11,12,13",
"exchanges": "27,21",
"prebidAudienceSegmentIdList": [
10,
11,
12
],
"publisherAdCategory": "112",
"userDealId": "1,2,b",
"countryId": 246,
"politicalAdvertiserClientId": 17,
"locationFileIds": "1011,1010",
"campaignEstimatorMetaData": {
"reachMeta": {},
"landScapeMeta": {},
"sliderMeta": {}
},
"stateIds": "30200031,30200032",
"campaignOptimization": {
"aiObjective": 1,
"aiGoal": 8,
"aiTargetKpi": 10
},
"isAdvanceAudioVideoTargeted": true,
"creativeAdvanceTargeting": {
"placementType": [
20600001
],
"rollPosition": [
20700001
],
"playerSize": [
20800001
],
"skippability": [
20900001
],
"playbackMethod": [
21000001
]
}
}
Response 200
{
"statusCode": 201,
"responseObject": {
"data": 123456,
"message": "Campaign saved successfully.",
"status": "pending"
}
}

Create new PG campaign​

POST
POST

Create a new PG campaign for Advertiser.

Request schema
pgCampaignInfo
object
Campaign information details.
pgCampaignInfo object properties
campaignName
string
Name of campaign.
ioId
integer
Insertion order ID.
timeZoneId
integer
Timezone ID.
totalImpressions
integer optional
Targeted impressions for impression-based campaign as budget, use if not a dollars-based campaign.
budgetTotal
integer optional
Total budget of the campaign for dollars-based campaign, use if not an impressions-based campaign.
maxBid
integer
Maximum allowed bid price for campaign.
startTime
integer
Unix epoch start time of campaign, in milliseconds.
endTime
integer
Unix epoch end time of campaign, in milliseconds.
budgetTypeId
integer
Budget type ID of given campaign (impression-based or dollar-based).
Supported values
1Budget
2Impression
campaignTypeId
integer
Campaign type ID.
Supported values
1Advanced campaign
2PG campaign
advertiserDomain
string
Domain of the Advertiser user.
creativeTargeting
object
Creative targeting details.
creativeTargeting object properties
creativeTypeId
integer
Creative type ID.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
creativeIds
array of integers
Creative IDs to attach to this campaign.
inventoryTargeting
object
Inventory targeting details.
inventoryTargeting object properties
pgDealIds
array of integers
PG deal IDs to attach to this campaign.
conversionTargeting
object
Campaign conversion targeting details.
conversionTargeting object properties
conversionTypeId
integer
Conversion type ID to attach to this campaign.
Supported values
1Pixel
2Postback
3Universal Pixel
conversionIds
array of integers
Conversion IDs to attach to this campaign (Note: conversions can be assigned, updated, or removed from a campaign only before the campaign is running.).
politicalAdvertiserClientId
integer
Advertiser client ID if user is political Advertiser.
countryId
integer
Country ID.
thirdPartyCost
integer optional
Campaign-level 3rd-party cost override, between 0 and 999. Omit to keep the account-level cost applied. Only honored when 3rd-party cost is active and campaign-level editing is enabled for the Advertiser's workspace.

Response properties
campaignId
integer
Campaign ID.
message
string
Success message.
Request sample
{
"pgCampaignInfo": {
"campaignName": "test imps PG campaign",
"ioId": 95179,
"timeZoneId": 29,
"totalImpressions": 12345,
"maxBid": 8,
"startTime": 1715662337,
"endTime": 1717128000,
"budgetTypeId": 2,
"campaignTypeId": 2,
"advertiserDomain": "https://www.xyz.com"
},
"creativeTargeting": {
"creativeTypeId": 11,
"creativeIds": [
644506
]
},
"inventoryTargeting": {
"pgDealIds": [
30,
12
]
},
"conversionTargeting": {
"conversionTypeId": 1,
"conversionIds": [
465,
687,
987
]
},
"politicalAdvertiserClientId": 989898,
"countryId": 23
}
Response 200
{
"success": true,
"data": {
"message": "PG Campaign Created successfully",
"campaignId": 2
}
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Invalid campaign Type provided"
}
]
}

Update PG campaign​

PATCH
PATCH

Update properties of a created or draft PG campaign by campaign ID.

Supported properties
pgCampaignInfo
object
Campaign information details.
pgCampaignInfo object properties
campaignName
string
Name of campaign.
ioId
integer
Insertion order ID.
timeZoneId
integer
Timezone ID.
totalImpressions
integer optional
Targeted impressions for impression-based campaign as budget, use if not a dollars-based campaign.
budgetTotal
integer optional
Total budget of the campaign for dollars-based campaign, use if not an impressions-based campaign.
maxBid
integer
Maximum allowed bid price for campaign.
startTime
integer
Unix epoch start time of campaign, in milliseconds.
endTime
integer
Unix epoch end time of campaign, in milliseconds.
budgetTypeId
integer
Budget type ID of given campaign (impression-based or dollar-based).
Supported values
1Budget
2Impression
campaignTypeId
integer
Campaign type ID.
Supported values
1Advanced campaign
2PG campaign
advertiserDomain
string
Domain of the Advertiser user.
creativeTargeting
object
Creative targeting details.
creativeTargeting object properties
creativeTypeId
integer
Creative type ID.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
creativeIds
array of integers
Creative IDs to attach to this campaign.
inventoryTargeting
object
Inventory targeting details.
inventoryTargeting object properties
pgDealIds
array of integers
PG deal IDs to attach to this campaign.
conversionTargeting
object
Campaign conversion targeting details.
conversionTargeting object properties
conversionTypeId
integer
Conversion type ID attached to this campaign.
Supported values
1Pixel
2Postback
3Universal Pixel
conversionIds
array of integers
Conversion IDs attached to this campaign (Note: conversions can be assigned, updated, or removed from a campaign only before the campaign is running.).
politicalAdvertiserClientId
integer
Advertiser client ID if user is political Advertiser.
countryId
integer
Country ID.
thirdPartyCost
integer optional
Campaign-level 3rd-party cost override, between 0 and 999. Omit to keep the current cost applied. Only honored when 3rd-party cost is active and campaign-level editing is enabled for the Advertiser's workspace.

Response properties
campaignId
integer
Campaign ID.
message
string
Success message.
{
"pgCampaignInfo": {
"campaignName": "test imps PG campaign",
"timeZoneId": 29,
"totalImpressions": 12345,
"maxBid": 8,
"startTime": 1715662337,
"endTime": 1717128000,
"advertiserType": "political",
"advertiserDomain": "https://www.xyz.com"
},
"creativeTargeting": {
"creativeTypeId": 11,
"creativeIds": "[644506]"
},
"inventoryTargeting": {
"pgDealIds": "[30,12]"
},
"conversionTargeting": {
"conversionTypeId": 1,
"conversionIds": "[465,687,987]"
},
"politicalAdvertiserClientId": 989898,
"countryId": 23
}
{
"pgCampaignInfoVO": {
"campaignName": "test imps PG campaign",
"timeZoneId": 29,
"spendingBudget": 1234,
"maxBid": 8,
"startTime": 1715662337,
"endTime": 1717128000,
"advertiserDomain": "https://www.xyz.com"
},
"creativeTargeting": {
"creativeTypeId": 11,
"creativeIds": "[644506]"
},
"inventoryTargeting": {
"pgDealIds": "[30,12]"
},
"conversionTargeting": {
"conversionTypeId": 1,
"conversionIds": "[465,687,987]"
},
"politicalAdvertiserClientId": 989898,
"countryId": 23
}
{
"pgCampaignInfoVO": {
"campaignName": "test imps PG campaign",
"timeZoneId": 29,
"spendingBudget": 1234,
"endTime": 1717128000,
"advertiserDomain": "https://www.xyz.com"
}
}
Response 200
{
"success": true,
"data": {
"message": "PG Campaign Updated successfully",
"campaignId": 2
}
}

Change campaign name​

PATCH

Change the name of a campaign.

Path parameters
campaign_Id
integer
Campaign ID.
Request schema
campaignName
string
New name for campaign.
Response properties
message
string
Success message.
Request sample
{
"campaignName": "New Campaign Name"
}
Respons 200
{
"success": true,
"data": {
"message": "campaignName updated successfully"
}
}

Change campaign end date​

PUT

Change the end date of multiple campaigns.

Request schema
endDate
integer
Unix timestamp of desired end date.
campaignIds
string
Comma separated campaign IDs to change end date for.
Response properties
status
boolean
Success status.
Request sample
{
"endDate": 1632132540,
"campaignIds": "192476"
}
Response 200
{
"statusCode": 200,
"responseObject": {
"status": true
}
}

Change campaign budget​

PUT

Update the total budget, daily budget, and max bid of multiple campaigns.

Request schema
campaignIds
string
Comma separated campaign IDs.
maxBid
integer
Max bid of campaign.
totalBudget
integer
Total budget of campaign.
dailyBudget
integer
Daily Budget of campaign.
totalBudgetUpdateType
string
Used in the case of a total budget update. There are three possibilities for this parameter.
change: Replace total budget with given value.
addition: Add budget to the current total budget.
distribution: Distribute given total budget in selected campaigns equally.
Default value: change.
Response properties
reason
object
Reason details.
reason object properties
errorMessage
string
Error message.
id
integer
Campaign ID.
campaignName
string
Campaign name.
modified_data
object
Modified data details.
See Request schema for supported values.
status
boolean
Success status.
Request sample
{
"totalBudgetUpdateType": "change",
"campaignIds": "192476",
"dailyBudget": 1001
}
Response 200
{
"statusCode": 200,
"responseObject": {
"reason": [
{
"errorMessage": "max bid cannot be less than minimum bid 3.0",
"id": "4120",
"campaignName": "test cust aud dev"
},
{
"errorMessage": "For given campaign_type max bid cannot be less than 1.00 or greater than 1000.",
"id": "4121",
"campaignName": "Vast copy"
}
],
"modified_data": [
{
"campaingId": 1,
"maxBid": 34,
"totalBudget": 35,
"dailyBudget": 36,
"endDate": 12312312312
}
],
"status": false
}
}

Update campaign status​

PUT

Update a campaign's status. This is the main endpoint for deleting a campaign by updating it's status to deleted.

Request schema
campaignIds
string
Comma separated campaign IDs.
status
string
Campaign status to update to. Use deleted to delete a campaign.
Request sample
{
"campaignIds":"562280",
"status":"deleted"
}
Response 200
{
"statusCode": 200,
"responseObject": {
"updatedData": [
{
"campaignId": 562280,
"status": "deleted"
}
],
"status": true
}
}

Duplicate campaigns​

POST

Duplicate campaigns within an insertion order with new start and end dates.

Request schema
existingCampaignIds
string
Comma separated campaign IDs to duplicate.
ioId
integer
Insertion order ID for new campaigns.
timeZoneId
integer
Timezone ID.
startDate
integer
Unix epoch timestamp for new campaign start date.
endDate
integer
Unix epoch timestamp for new campaign end date (0 for no end date).
Response properties
duplicatedCampaignIds
array of integers
IDs of newly created duplicate campaigns.
status
boolean
Indicates duplication was successful: true.
Request sample
{
"existingCampaignIds": "331575",
"ioId": 9,
"timeZoneId": 9,
"startDate": 1693612135,
"endDate": 0
}
Response 200
{
"statusCode": 200,
"responseObject": {
"duplicatedCampaignIds": [
334676
],
"status": true
}
}
More responses
Response 400
{
"statusCode": 400,
"responseObject": {
"errorMsg": "The action cannot be completed as insertion order 1 does not belong to this organization",
"errorCode": 400
}
}
Response 400 (Invalid timezone)
{
"statusCode": 400,
"responseObject": {
"errorMsg": "Invalid timezone.",
"errorCode": 400
}
}

Get campaign cost details​

POST

Retrieve cost details for a specific campaign. The request body must include either a campaignId or a combination of audienceIds, creativeIds, and preBidSegmentIds.

Request schema
campaignId
integer
Campaign ID to get cost details for.
audienceIds
array of integers
Audience IDs (required if no campaignId).
creativeIds
array of integers
Creative IDs (required if no campaignId).
preBidSegmentIds
array of integers
Pre-bid segment IDs (required if no campaignId).
creativeTypeId
integer
Creative type ID.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
Response properties
maxBidPrice
integer
Maximum bid price.
adServingCost
integer
Ad serving cost.
dataCost
integer
Data cost.
preBidCost
integer
Pre-bid cost.
msaExistsWith
string
MSA partner name.
logoURL
string
Partner logo URL.
thirdPartyCost
integer
Campaign-level 3rd-party cost, either the Advertiser's override or the account-level cost when no override is set.
Request sample
{
"campaignId": 123456
}
Response 200
{
"success": true,
"data": {
"maxBidPrice": 5,
"adServingCost": 200,
"dataCost": 150,
"preBidCost": 300,
"msaExistsWith": "Partner A",
"logoURL": "https://example.com/logo.png",
"thirdPartyCost": 10.5
}
}
More responses
Response 400
{
"success": false,
"errorObjects": [
{
"error": "Invalid campaignId or missing required fields."
}
]
}

Get audience reach estimation​

POST

Get audience reach estimation based on targeting parameters. Request body supports dimensions available with true value from Get estimator dimension list.

Request schema
stateIds
string
Comma separated state IDs.
whitelistCityIds
string
Comma separated city IDs to include.
whitelistZipCodes
string
Comma separated ZIP codes to include.
ethnicityIds
string
Comma separated ethnicity IDs.
ageIds
string
Comma separated age range IDs.
incomeIds
string
Comma separated income range IDs.
bidPacing
boolean
Enable bid pacing.
budgetDay
integer
Daily budget.
creativesPlacementMapping
object
Creative to placement mapping.
Response properties
targetingType
string
Targeting type used for estimation.
estimatedReachMin
integer
Minimum estimated reach.
estimatedReachMax
integer
Maximum estimated reach.
estimatedReachAvg
integer
Average estimated reach.
Request sample
{
"stateIds": "30200032",
"whitelistCityIds": "30434428,30434491,30434474",
"whitelistZipCodes": "08016,08048,08036",
"ethnicityIds": "10700001",
"ageIds": "10100006,10100007",
"incomeIds": "10300001,10300002",
"bidPacing": true,
"budgetDay": 120,
"creativesPlacementMapping": {
"537448": 0
}
}
Response 200
{
"success": true,
"data": {
"targetingType": "Specific",
"estimatedReachMin": 4392,
"estimatedReachMax": 5369,
"estimatedReachAvg": 4881
}
}
More responses
Response 408
{
"success": false,
"errorObjects": [
{
"error": "Server request timed out!"
}
]
}

Get bid landscape estimation​

POST

Get bid landscape estimation based on targeting parameters. Request body supports dimensions available with true value from Get estimator dimension list.

Request schema
stateIds
string
Comma separated state IDs.
whitelistCityIds
string
Comma separated city IDs to include.
whitelistZipCodes
string
Comma separated ZIP codes to include.
ethnicityIds
string
Comma separated ethnicity IDs.
ageIds
string
Comma separated age range IDs.
incomeIds
string
Comma separated income range IDs.
bidPacing
boolean
Enable bid pacing.
budgetDay
integer
Daily budget.
creativesPlacementMapping
object
Creative to placement mapping.
Response properties
axis
object
Axis labels for bid landscape chart: x (bidFloor), y (numImp).
bidGuidance
array of objects
Bid guidance data points with bidfloorPercentile, bidFloor, and numImp.
Request sample
{
"stateIds": "30200032",
"whitelistCityIds": "30434428,30434491",
"whitelistZipCodes": "08016,08048",
"ethnicityIds": "10700001",
"ageIds": "10100006,10100007",
"incomeIds": "10300001,10300002",
"bidPacing": true,
"budgetDay": 120
}
Response 200
{
"success": true,
"data": {
"axis": {
"x": "bidFloor",
"y": "numImp"
},
"bidGuidance": [
{
"bidfloorPercentile": 0,
"bidFloor": 0.14166666666666666,
"numImp": 0
},
{
"bidfloorPercentile": 50,
"bidFloor": 1.3108599999999997,
"numImp": 74142
},
{
"bidfloorPercentile": 99,
"bidFloor": 3.124166666666666,
"numImp": 146802
}
]
}
}
More responses
Response 408
{
"success": false,
"errorObjects": [
{
"error": "Server request timed out!"
}
]
}

Resend email to set margin​

POST
Request schema
owId
integer
Organization Workspace ID.
Response properties
success
boolean
Indicates email was sent succesfully: true.
message
string
Success message.
Response 200
{
"success": true,
"data": "Email reminder resend successfully to set margin."
}

Resend email reminder to set invoice template​

POST
Request schema
owId
integer
Organization Workspace ID.
Response properties
success
boolean
Indicates email was sent succesfully: true.
message
string
Success message.
Response 200
{
"success": true,
"data": "Email reminder resend successfully to set invoice template."
}

Campaign templates​

Manage reusable campaign templates for creating campaigns with pre-configured targeting, creative, and inventory settings.

Get list of campaign templates​

GET

Get a list of campaign templates with basic details such as ID, name, creation date, and creative type.

Query parameters
searchField
string
Search campaign templates by name or ID.
noOfEntries
integer
Maximum number of returned results per page (default: 20).
pageNo
integer
Page number for the required data (default: 1).
sortBy
string
Sort the result set by specific field. For ascending use +, for descending use -. Allowed values: id, name. (Default: -createdAt).
cmpType
integer
Type of template to filter. 1: Advanced, 2: PG. If not provided, all types are returned.
Response properties
filteredRecords
integer
Number of records matching the filter.
totalRecords
integer
Total number of templates.
templateList
array of objects
List of template objects.
templateList object properties
id
integer
Template ID.
name
string
Template name.
createdAt
integer
Unix epoch timestamp of template creation.
type
integer
Template type: 1 (Advanced), 2 (PG).
creativeType
integer
Creative type ID (not present if creative is not attached).
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
Response 200
{
"success": true,
"data": {
"filteredRecords": 2,
"totalRecords": 10,
"templateList": [
{
"id": 1234,
"name": "Sample Template 1",
"createdAt": 1627890123456,
"type": 1,
"creativeType": 14
},
{
"id": 5678,
"name": "Sample Template 2",
"createdAt": 1627891123456,
"type": 2
}
]
}
}
More responses
Response 400
{
"success": false,
"errorObjects": [
{
"error": "Invalid template type id"
}
]
}

Get campaign template details​

GET

Get campaign template details by template ID.

Path parameters
cmpTemplateId
integer
Campaign template ID.
Response properties
templateId
integer
Template ID.
templateName
string
Template name.
templateTypeId
integer
Template type.
1: Advanced.
2: PG.
owId
integer
Organization Workspace ID.
advertiserDomain
string
Advertiser domain URL.
creativeType
integer
Creative type ID.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
creativeIds
string
Comma separated creative IDs.
bidPacing
boolean
Bid pacing enabled.
isBidShading
boolean
Bid shading enabled.
frequencyCapEnabled
boolean
Frequency capping enabled.
frequencyCapping
object
Frequency capping configuration.
totalImpressions
integer
Total impressions cap.
totalClicks
integer
Total clicks cap.
totalConversions
integer
Total conversions cap.
maxDayImpressions
integer
Max daily impressions cap.
maxDayClicks
integer
Max daily clicks cap.
maxDayConversions
integer
Max daily conversions cap.
countryId
string
Country ID.
scheduling
object
Day-parting schedule configuration.
politicalAdvertiserClientId
integer
Advertiser client ID if user is political Advertiser.

info

The response contains the full set of campaign targeting properties configured on the template. See the Create campaign and Create PG campaign sections for descriptions of individual targeting fields.

Response 200
{
"success": true,
"data": {
"owId": 204732,
"advertiserDomain": "https://www.example.com",
"creativeType": 14,
"isTvAd": false,
"creativeIds": "100027,100028",
"campaignOptimization": {
"aiObjective": 1,
"aiGoal": 8,
"aiTargetKpi": 10.0,
"aiConversionId": null
},
"bidPacing": true,
"isBidShading": true,
"frequencyCapEnabled": true,
"frequencyCapping": {
"1": { "frequencyCapDuration": 6, "frequencyCapValue": 5 },
"2": { "frequencyCapDuration": 3, "frequencyCapValue": 20 },
"3": { "frequencyCapDuration": 3, "frequencyCapValue": 60 },
"4": { "frequencyCapDuration": 0, "frequencyCapValue": 100 }
},
"totalImpressions": 2345,
"totalClicks": 2354654,
"totalConversions": 2463570,
"maxDayImpressions": 2,
"maxDayClicks": 324,
"maxDayConversions": 534675,
"exchanges": "27,21",
"countryId": "246",
"whiteListedStateIds": "30200031,30200032",
"blackListedStateIds": "30200033,30200035",
"whiteListedAudienceIds": "900254,900271",
"blackListedAudienceIds": "889185,888981",
"scheduling": {
"0": [["00:00:00","05:00:00"],["11:00:00","16:00:00"]],
"1": [["00:00:00","04:00:00"],["19:00:00","21:00:00"]]
},
"politicalAdvertiserClientId": 17,
"templateId": 9,
"templateName": "Test-1",
"templateTypeId": 1
}
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Template not found for id: 789."
}
]
}

Create campaign template​

POST

Create a new campaign template (Advanced or PG). The template stores campaign configuration settings that can be reused when creating new campaigns.

Request schema
templateName
string
Template name.
templateTypeId
integer
Template type.
1: Advanced.
2: PG.

info

The request body accepts the full set of campaign properties for targeting, creative, inventory, and other configurations. See the Create campaign and Create PG campaign sections for the complete list of supported properties.

Response properties
data
string
Success message.
Request sample
{
"templateName": "Sample campaign name",
"templateTypeId": 1,
"isAgreementChecked": true,
"advertiserDomain": "https://www.example.com",
"creativeType": 14,
"timezone": 105,
"creativeIds": "100027,100028",
"bidOptimization": false,
"bidPacing": true,
"isBidShading": true,
"frequencyCapEnabled": true,
"totalImpressions": 2345,
"maxDayImpressions": 2,
"campaignOptimization": {
"aiObjective": 1,
"aiGoal": 8,
"aiTargetKpi": 10
},
"frequencyCapping": {
"1": { "frequencyCapDuration": 6, "frequencyCapValue": 5 },
"2": { "frequencyCapDuration": 3, "frequencyCapValue": 20 }
},
"exchanges": "27,21",
"countryId": 246,
"whiteListedStateIds": "30200031,30200032",
"whiteListedAudienceIds": "900254,900271",
"scheduling": {
"0": [["00:00:00","05:00:00"],["11:00:00","16:00:00"]],
"1": [["00:00:00","04:00:00"],["19:00:00","21:00:00"]]
}
}
Request sample
{
"templateName": "Sample template name",
"templateTypeId": 2,
"advertiserDomain": "https://www.xyz.com",
"creativeTargeting": {
"creativeTypeId": 11,
"creativeIds": [644506]
},
"inventoryTargeting": {
"pgDealIds": [30, 12]
},
"conversionTargeting": {
"conversionTypeId": 1,
"conversionIds": [465, 687, 987]
},
"politicalAdvertiserClientId": 989898,
"countryId": 23
}
Response 200
{
"success": true,
"data": "Template created successfully"
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Template ABC-template could not be saved."
}
]
}

Rename campaign template​

PATCH

Rename an existing campaign template by template ID.

Path parameters
cmpTemplateId
integer
ID of the template to rename.
Request schema
templateName
string required
New name for the template.
Response properties
data
string
Success message.
Request sample
{
"templateName": "Updated Template Name"
}
Response 200
{
"success": true,
"data": "Template 101 updated successfully."
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Template not found for id: 789."
}
]
}

Delete campaign templates​

DELETE

Delete one or more campaign templates by template ID.

Request schema
templateIds
array of integers required
List of template IDs to delete.
Response properties
data
string
Success message.
Request sample
{
"templateIds": [101]
}
Response 200
{
"success": true,
"data": "Template deleted successfully."
}
Request sample
{
"templateIds": [101, 102, 103]
}
Response 200
{
"success": true,
"data": "3 templates deleted successfully."
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "One or more templates not found or already deleted."
}
]
}

Campaign targeting​

Configure targeting parameters for campaigns including audiences, creatives, inventory groups, and deals.

Update audience targeting in campaigns​

POST

Update the audience targeting in a given campaigns list. Supports include, exclude, and remove audiences.

warning

PG campaigns cannot be used for audience targeting.

Request schema
{campaignId}
string
Campaign ID for which to pass includedAudienceList, excludedAudienceList, and removeAudience.
includedAudienceList
array of integers
Audience IDs to include in targeting.
excludedAudienceList
array of integers
Audience IDs to exclude from targeting.
removeAudience
array of integers
Audience IDs to remove.
Response properties
message
string
Success message.
failedCampaigns
object
Failed campaigns list: name-value pairs of CampaignId and failure description.
Request schema
{
"477717": {
"includedAudienceList": [
1064656,
1060603
],
"excludedAudienceList": [
1064000,
1060111
],
"removeAudienceList": [
106422,
106033
]
}
}
Response 200
{
"success": true,
"data": {
"message": "Your changes have been successfully saved."
}
}
Response 200 (partial success)
{
"success": false,
"data": {
"message": "Your changes have been successfully saved.",
"failedCampaigns": {
"477717": "Can not target more than 20 audiences."
}
}
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "One or more campaigns are PG campaigns and cannot be used for audience targeting: [529192, 506992, 506991]"
}
]
}

Update creative targeting in campaigns​

PATCH

Assign or unassign creatives from campaigns.

Request schema
creativeIds
array of integers
Creative IDs to assign or unassign.
assignedCampaignIds
array of integers
Campaign IDs to assign creative targeting to.
removedCampaignIds
array of integers
Campaign IDs to unassign/remove creative targeting from.
Response properties
success
boolean
Indicates operation was successful: true.
data
string
Success message.
Request Sample (Assign)
{
"assignedCampaignIds": [1, 2, 3],
"creativeIds": [11, 22]
}
Request Sample (Unassign)
{
"removedCampaignIds": [2],
"creativeIds": [11]
}
Response 200
{
"success": true,
"data": "Creatives assigned/un-assigned successfully."
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Please provide valid Campaign IDs for assign/un-assign action"
}
]
}

Inventory group targeting​

POST

Include or exclude specific campaigns from an inventory Group. Use this to manage which campaigns are targeted by the inventory Group by providing comma-separated lists of campaign IDs to include and/or exclude.

See the Inventory API to Create a new inventory group.

Path parameter
groupId
integer
Inventory group ID.
Request schema
includedCampaignIds
string
Comma-separated campaign IDs to include in the inventory group. Use an empty string if no campaigns should be included.
excludedCampaignIds
string
Comma-separated campaign IDs to exclude from the inventory group. Use an empty string if no campaigns should be excluded.
Response properties
success
boolean
Indicates whether the operation was successful: true.
data
string
Success message.
Request sample
{
"includedCampaignIds": "101,102",
"excludedCampaignIds": "200"
}
Response 200
{
"success": true,
"data": "Campaigns successfully updated for inventory group"
}
More responses
Response 400
{
"success": false,
"errorObjects": [
{
"error": "Invalid campaign IDs provided"
}
]
}
Response 401
{
"success": false,
"errorObjects": [
{
"error": "Invalid token"
}
]
}

Assign PMP deals​

PATCH

Assign or remove multiple PMP deals to/from campaigns.

Request schema
operations
array of objects
Operations specifying the action, campaign IDs and PMP deal IDs.
action
string
Action to perform: assign or deassign.
campaignIds
array of integers
Campaign IDs to assign deals or remove deals from.
pmpDealIds
array of integers
PMP deal IDs to assign/de-assign to/from campaigns.
Response properties
success
boolean
Indicates Deals were assigned succesfully: true.
data
string
Success message.
Request sample
{
"operations": [
{
"action": "assign",
"campaignIds": [
201,
203
],
"pmpDealIds": [
101,
102
]
},
{
"action": "deassign",
"campaignIds": [
202
],
"pmpDealIds": [
102
]
}
]
}
Response 200
{
"success": true,
"data": "PMP deal campaign mappings updated successfully"
}
More responses
Response 403
{
"success": false,
"errorObjects": [
{
"error": "Forbidden!"
}
]
}
Response 422
{
"success": false,
"errorObjects": [
{
"error": "PMP deal id/s is/are invalid or not accessible for logged-in user"
}
]
}

Assign PG deals​

PATCH

Assign or remove multiple PG deals to/from campaigns.

Request schema
operations
array of objects
Operations specifying the action, campaign IDs and PMP deal IDs.
action
string
Action to perform: assign or deassign.
campaignIds
array of integers
Campaign IDs to assign deals or remove deals from.
pgDealIds
array of integers
PG deal IDs to assign/remove to/from campaigns.
Response properties
success
boolean
Indicates Deals were assigned succesfully: true.
message
string
Success message.
Request sample
{
"operations": [
{
"action": "assign",
"campaignIds": [
201,
203
],
"pgDealIds": [
101,
102
]
},
{
"action": "assign",
"campaignIds": [
202
],
"pgDealIds": [
103
]
},
{
"action": "deassign",
"campaignIds": [
202
],
"pgDealIds": [
102
]
}
]
}
Response 200
{
"success": true,
"data": "PG deal Campaigns mappings updated successfully"
}
More responses
Response 403
{
"success": false,
"errorObjects": [
{
"error": "Forbidden!"
}
]
}
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Campaign ID 506992 exceeds the maximum limit of 25 deals"
}
]
}

Include/exclude management​

The Include and Exclude options allow you to control where ads appear for a campaign. See the Allowlist and Blocklist overview Help Center article for more information.

Include/exclude device types​

POST

Include or exclude device type targeting for a given campaign.

Request schema
ids
string
Comma-separated device type IDs to target or block.
Supported values
11Mobile
12Tablet
13Connected TV
15Desktop
isExcluded
integer
Target entity: 0.
Block entity: 1.
campaignId
integer
Campaign ID.
Response properties
message
string
Success message.
Request sample
{
"ids": "15",
"isExcluded": 0,
"campaignId": 214269
}
Response 200
{
"statusCode": 200,
"responseObject": {
"message": "The device types have been allowed."
}
}

Include/exclude exchanges​

POST

Include or exclude exchange targeting for a given campaign.

Request schema
ids
string
Comma-separated exchange IDs to target or block.
isExcluded
integer
Target entity: 0.
Block entity: 1.
campaignId
integer
Campaign ID.
Response properties
message
string
Success message.
Request sample
{
"ids": "11,16",
"isExcluded": 0,
"campaignId": 214269
}
Response 200
{
"statusCode": 200,
"responseObject": {
"message": "The exchanges have been allowed."
}
}

Include/exclude traffic sources​

POST

Include or exclude traffic source targeting for a given campaign.

Request schema
ids
string
Comma-separated traffic type IDs to target or block.
Supported values
11App
14CTV
13OTT
12Web
isExcluded
integer
Target entity: 0.
Block entity: 1.
campaignId
integer
Campaign ID.
Response properties
message
string
Success message.
Request sample
{
"ids": "1,2",
"isExcluded": 0,
"campaignId": 214269
}
Response 200
{
"statusCode": 200,
"responseObject": {
"message": "The traffic sources have been allowed."
}
}

Include/exclude ZIP codes​

POST

Include or exclude ZIP code targeting for a given campaign. unknown ZIP codes aren't allowed for include/exclude operations.

Request schema
ids
string
Comma-separated ZIP codes to target or block.
isExcluded
integer
Target entity: 0.
Block entity: 1.
campaignId
integer
Campaign ID.
Response properties
data
object
Success message.
Request sample
{
"ids": "10001,10002,10003",
"isExcluded": 0,
"campaignId": 12345
}
Response 200
{
"success": true,
"data": {
"message": "The ZIP codes have been allowed."
}
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Invalid campaign ID, ZIP codes, or 'unknown' ZIP code provided."
}
]
}

Include/exclude states​

POST

Include or exclude state targeting for a given campaign.

Request schema
ids
string
Comma-separated state IDs to target or block.
isExcluded
integer
Target entity: 0.
Block entity: 1.
campaignId
integer
Campaign ID.
Response properties
data
object
Success message.
Request sample
{
"ids": "30200031,30200032",
"isExcluded": 0,
"campaignId": 12345
}
Response 200
{
"success": true,
"data": {
"message": "The states have been allowed."
}
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Invalid campaign ID or state IDs."
}
]
}

Include/exclude publisher categories​

POST

Include or exclude publisher category targeting for a given campaign.

Request schema
ids
string
Comma-separated publisher ad category IDs to target or block.
isExcluded
integer
Target entity: 0.
Block entity: 1.
campaignId
integer
Campaign ID.
Response properties
data
object
Success message.
Request sample
{
"ids": "1,2,3",
"isExcluded": 0,
"campaignId": 12345
}
Response 200
{
"success": true,
"data": {
"message": "The publisher categories have been allowed."
}
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Invalid campaign ID or publisher category IDs."
}
]
}

Include/exclude deal IDs​

POST

Include or exclude deal ID targeting for a given campaign.

Request schema
ids
string
Comma-separated deal IDs to target or block.
isExcluded
integer
Target entity: 0.
Block entity: 1.
campaignId
integer
Campaign ID.
Response properties
data
object
Success message.
Request sample
{
"ids": "101,102,103",
"isExcluded": 0,
"campaignId": 12345
}
Response 200
{
"success": true,
"data": {
"message": "The deals have been allowed."
}
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Invalid campaign ID or deal IDs."
}
]
}

Include/exclude cities​

POST

Include or exclude city targeting for a given campaign.

Request schema
ids
string
Comma-separated city IDs to target or block.
isExcluded
integer
Target entity: 0.
Block entity: 1.
campaignId
integer
Campaign ID.
Response properties
data
object
Success message.
Request sample
{
"ids": "30400001,30400002",
"isExcluded": 0,
"campaignId": 12345
}
Response 200
{
"success": true,
"data": {
"message": "The cities have been allowed."
}
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Invalid campaign ID or city IDs."
}
]
}

Include/exclude campaigns from inventory groups​

POST

Include (whitelist) or exclude (blacklist) campaigns from targeting for one or more inventory groups at once. To target or block campaigns for a single inventory group instead, see Inventory group targeting.

Request schema
groupIds
array of integers required
Inventory group IDs to update.
includedCampaignIds
string required
Comma-separated Campaign IDs to include.
excludedCampaignIds
string required
Comma-separated Campaign IDs to exclude.
Response properties
data
object
Success message.
Request sample
{
"groupIds": [
12,
13
],
"includedCampaignIds": "101,102",
"excludedCampaignIds": "201,202"
}
Response 200
{
"success": true,
"data": {
"message": "Changes have been saved successfully"
}
}
More responses
Response 400
{
"success": false,
"errorObjects": [
{
"error": "Included campaign IDs must be a comma-separated list of numbers."
}
]
}
Response 403
{
"success": false,
"errorObjects": [
{
"error": "You are not authorized to perform this operation"
}
]
}
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Group ID is required."
}
]
}

Insertion order details​

Insertion orders specify the parameters or details of an advertising campaign.

Insertion order resource properties​

Basic IO resource properties
ioId
integer
Insertion order ID.
ioName
string
Insertion order name.
owId
integer
Organization Workspace ID.
createdByUowId
integer
User Organization Workspace ID associated with IO creation.
modifiedByUowId
integer
User Organization Workspace ID associated with IO modification.
ioStartTime
integer
Unix epoch timestamp (in milliseconds) of IO start time.
ioEndTime
integer
Unix epoch timestamp (in milliseconds) of IO end time.
ioTotalBudget
integer
Budget of IO.
ioTimeZoneId
integer
Timezone ID for insertion order.
isAutoSumIoTotalBudget
boolean
If true Keeps IO budget same as total budget of all included campaigns.
ioBudgetDistributionMethodId
integer
Budget distribution method ID.
Supported values
1Manual
2Auto
ioBudgetTypeId
integer
Budget type ID.
Supported values
1Budget
2Impression
ioTotalImpression
integer
Number of impressions.
ioStatusID
integer
Status ID.
Supported values
1Active
2Expired
3Deleted
ioNextPerformanceCheck
integer
Unix epoch timestamp (in milliseconds) of next performance check.
ioLastPriorityShift
integer
Unix epoch timestamp (in milliseconds).
ioCurrentPriority
integer
Current IO campaign priority.
isIoPrioritise
integer
All child campaigns will be considered with or without priority.
Advanced IO resource properties
prebidCost
integer
Data cost of Pre-bid Audiences.
clicks
integer
The number of times a user clicked on an ad.
totalCount
integer
The number of records available in response as per the filtering applied in the request.
winRate
integer
Percentage of impressions bid on and won.
logoUrl
string
Logo URL.
avatarUrl
string
Avatar URL.
budgetDay
integer
Daily budget for campaign serving daily.
budgetSpent
integer
Budget spent.
ioTotalBudget
integer
Insertion order total budget.
budgetTotal
integer
Campaign total budget.
Note: can be null if fixed daily budget, start time, and end time are provided.
dataCost
integer
Data cost applied on campaigns of given Customer.
mediaBudget
integer
Media budget.
owId
integer
Organization Workspace ID.
orgId
integer
Organization ID.
impressions
integer
Impressions.
industry
integer
Industry ID.
mediaSpent
integer
Actual amount spent by an Advertiser (does not include dataCost or prebidCost).
spent
integer
Amount spent.
workspaceSpent
integer
Workspace spent.
platformSpent
integer
Platform spent.
customerSpent
integer
Customer spent.
platformMediaEarning
integer
Platform media earning.
platformBidShadingEarning
integer
Platform bid shading earning.
platformTotalEarning
integer
Platform total earning.
workspaceMediaEarning
integer
Workspace media earning.
workspaceBidShadingEarning
integer
Workspace bid shading earning.
workspaceTotalEarning
integer
Workspace total earning.
organizationName
integer
Organization name.
companySize
integer
Company size ID.
Supported values
11-10
211-50
351-200
4201-500
5501-1000
61001-5000
75000+
workspaceName
integer
Workspace name.
workspaceId
integer
Workspace ID.
workspaceDomain
integer
Workspace domain.
workspaceOrganizationName
integer
Workspace Organization name.
bidImpressions
integer
Bid on impressions count.
startCount
integer
Ad viewing metric, video start.
firstCount
integer
Ad viewing metric, video first quarter.
midCount
integer
Ad viewing metric, video midpoint.
thirdCount
integer
Ad viewing metric, video last quarter.
completeCount
integer
Ad viewing metric, video completed.
audioVideoActualBids
integer
Audio/video actual bids.
audioVideoActualImpressions
integer
Audio/video actual impressions.
eCPC
integer
Effective cost per click.
eCPM
integer
Effective cost per mille.
eCPI
integer
Effective cost per install.
eCPCV
integer
Effective cost per completed view.
eCPV
integer
Effective cost per visit.
totalAttributedConversion
integer
The number of conversions that are attributed to a specific campaign based on the Attribution model.
totalAttributedViewThroughConversion
integer
The number of conversions that occurred after a user viewed an ad but did not click on it.
totalAttributedClickThroughConversion
integer
The number of conversions that occurred after a user clicked on an ad.
costPerAttributedConversion
integer
Cost per attributed conversion.
totalAttributedConversionRate
integer
Total attributed conversion rate.
reach
integer
The number of unique individuals exposed to an ad, does not count repeat views.
frequency
integer
The average number of times each user was exposed to an ad.
date
integer
Date.
campaignId
integer
Campaign ID.
campaignName
string
Campaign name.
maxBid
integer
Max bid of budget for serving.
baseBid
integer
Base value on which Bid Modifiers are applied.
startTime
integer
Unix epoch timestamp, in milliseconds.
endTime
integer
Unix epoch timestamp, in milliseconds.
ioStartTime
integer
Unix epoch timestamp of IO start time, in milliseconds.
ioEndTime
integer
Unix epoch timestamp of IO end time, in milliseconds.
campaignType
string
Campaign type ID.
Supported values
1Advanced campaign
2PG campaign
status
string
Status.
campaignTimezone
string
Campaign timezone.
creativeType
string
Creative type.
budgetPacing
boolean
Budget is spent equally every hour: true.
isCampaignFromNewPlatform
boolean
Indicates if campaign is from the old platform.
percentageOfTotalSpent
integer
Percentage of total spent.
uowId
integer
User Organization Workspce ID.
audioVideoViewed
integer
Audio/video viewed.
ioId
integer
Insertion order ID.
ioName
string
Insertion order name.
ioTimezone
integer
Insertion order timezone.
ioBudgetTypeId
integer
Insertion order budget type ID.
Supported values
1Budget
2Impression
ioStatusId
integer
Insertion order status ID.
Supported values
1Active
2Expired
3Deleted
ioBudgetDistributionMethod
integer
IO Budget Distribution Method.
Supported values
1Manual
2Auto
pacingPercentage
integer
Pacing percentage.
actualSpent
integer
Actual spent.
expectedSpent
integer
Expected spent.
campaignDuration
integer
Campaign duration.
remainingDuraion
integer
Campaign remaining duration.
dailyPacingPercentage
integer
Daily pacing percentage.
expectedDailySpent
integer
Expected daily spent.
actualDailySpent
integer
Actual daily spent.
budgetTypeId
integer
Budget type ID.
Supported values
1Budget
2Impression
campaignTypeId
integer
Campaign type ID.
Supported values
1Advanced campaign
2PG campaign
isEligibleForVLDInsightsReport
boolean
Indicates whether campaign is eligible for VLD Insights report: true.
targetImpression
integer
Impressions target.
dailyImpression
integer
Daily impression count.
creativesCount
integer
Creatives count.
campaignsCount
integer
Number of campaigns associated with IO.
ioTotalImpressions
integer
IO total impressions.
ioPacingPercentage
integer
IO pacing percentage.
ioActualSpent
integer
IO actual spent.
ioExpectedSpent
integer
IO expected spent.
ioDuration
integer
IO duration.
ioRemainingDuraiton
integer
IO remaining duration.
exchangeId
integer
Exchange ID.
exchangeName
string
Exchange name.
autoSumIoTotalBudget
boolean
If true Keeps IO budget same as total budget of all included campaigns.
isAutoSumIoTotalBudget
boolean
If true Keeps IO budget same as total budget of all included campaigns.
budgetTotalCombined
integer
Combined total budgets of all campaigns associated with an IO.
budgetDayCombined
integer
Combined daily budgets of all campaigns associated with an IO.
ioTotalBudgetCombined
integer
Combined total budgets of selected IOs.
campaignPriority
integer
Campaign priority.
bidModelDataId
integer
Bid Model data ID.
workspaceVLDInsightsEarnings
integer
Workspace VLD Insights earnings.
platformVLDInsightsEarnings
integer
Platform VLD Insights earnings.
vldInsightsCost
integer
VLD Insights cost.
ioTimeZoneName
string
IO timezone name.
CTR
integer
Click-through rate.
VCR
integer
Video completion rate.
CVR
integer
Conversion rate.

Get insertion order details by ID​

GET

Get insertion order details by IO ID.

Path parameter
ioId
integer
Insertion order ID.
Response properties
ioId
integer
Insertion order ID.
ioName
string
Insertion order name.
ioStartTime
integer
IO start time in epoch milliseconds.
ioEndTime
integer
IO end time in epoch milliseconds.
ioTotalBudget
integer
Total budget of the insertion order.
ioTimeZoneId
integer
Timezone ID for insertion order.
isBudgetAutoSum
boolean
Whether the IO total budget is auto-summed from campaign budgets.
ioBudgetDistributionMethodId
integer
Budget distribution method ID.
Supported values
1Manual
2Auto
ioBudgetTypeId
integer
Budget type ID.
Supported values
1Budget
2Impression
ioStatusId
integer
IO status ID.
Supported values
1Active
2Expired
3Deleted
ioTotalImpressions
integer
Total impressions for the insertion order.
owId
integer
Organization Workspace ID.
createdByUowId
integer
User Organization Workspace ID of the creator.
modifiedByUowId
integer
User Organization Workspace ID of the last modifier.
isIoPrioritise
boolean
Whether IO prioritization is enabled.
ioNextPerformanceCheck
integer
Next performance check time in epoch milliseconds.
ioLastPriorityShift
integer
Last priority shift time in epoch milliseconds.
ioCurrentPriority
integer
Current priority level of the IO.
Response 200
{
"success": true,
"data": {
"ioId": 985,
"ioName": "TEST UPDATE",
"ioStartTime": 1793251767612,
"ioEndTime": 1794251767612,
"ioTotalBudget": 0,
"ioTimeZoneId": 29,
"isBudgetAutoSum": true,
"ioBudgetDistributionMethodId": 1,
"ioBudgetTypeId": 1,
"ioStatusId": 1,
"ioTotalImpressions": 0,
"owId": 201427,
"createdByUowId": 9480,
"modifiedByUowId": 9480,
"isIoPrioritise": true,
"ioNextPerformanceCheck": 1708606327000,
"ioLastPriorityShift": 1704976116958,
"ioCurrentPriority": 4
}
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Invalid insertion order id."
}
]
}

Get insertion order details​

POST

Get a list of insertion order (IO) details.

An insertion order ioId can be used to query insertion order details endpoints or to perform various actions in Insertion order management.

Request schema
owIdList
array of integers
List of Organization Workspace IDs for which IO details required.
ioIdList
array of integers
List of insertion order IDs for which IO details required.
ioBudgetTypeIdsList
array of integers
List of budget type IDs for which IO details are required.
Supported values
1Budget
2Impression
ioStatusIdsList
array of integers
List of insertion order status IDs for which IO details are required.
Supported values
1Active
2Expired
3Deleted
ids
array of integers
Prioritizes specified IO IDs before others in returned data.
isAllOWIds
boolean
Filters records with all allowed OW IDs if true, prioritizes records over owIds.
pageNo
integer
Page number of retrieved data.
noOfEntries
integer
Number of entries returned per page.
searchField
string
Filter results by search field (supported values: name and id).
sortBy
string
Comma separated names of the sorting field. Sorts by ascending (id) or descending (-).
Supported values: ioId, ioName, ioStartTime, ioEndTime, ioTotalBudget.
offset
integer
Offset is alternative of page number. Offset is number of records to be skipped.
Request sample
{
"pageNo": 1,
"noOfEntries": 20,
"ioIdList": [
12,
34
],
"ids": [
2
],
"searchField": "io name",
"sortBy": "-ioId",
"ioBudgetTypeIdsList": [
2
],
"ioStatusIdsList": [
1,
2,
3
],
"offset": 1
}
Response 200
{
"success": true,
"data": {
"totalRecords": 3,
"ioBasicDetailsList": [
{
"ioId": 1630,
"ioName": "phase 2 test",
"ioStartTime": 1792179297123,
"ioEndTime": 1793179297123,
"ioTimeZoneId": 29,
"ioTotalBudget": 0,
"ioBudgetDistributionMethodId": 1,
"ioBudgetTypeId": 2,
"ioStatusId": 1,
"ioTotalImpressions": 0,
"isBudgetAutoSum": true
},
{
"ioId": 741,
"ioName": "testdatasync",
"ioStartTime": 1692860161542,
"ioEndTime": 1696226400000,
"ioTimeZoneId": 21,
"ioTotalBudget": 100001,
"ioBudgetDistributionMethodId": 1,
"ioBudgetTypeId": 2,
"ioTotalImpressions": 0,
"ioStatusId": 1,
"isBudgetAutoSum": true
},
{
"ioId": 738,
"ioName": "IO Bharat",
"ioStartTime": 1693251767612,
"ioEndTime": 1693353600000,
"ioTimeZoneId": 29,
"ioTotalBudget": 1100,
"ioBudgetDistributionMethodId": 1,
"ioBudgetTypeId": 2,
"ioStatusId": 2,
"ioTotalImpressions": 0,
"isBudgetAutoSum": true
}
],
"filteredRecords": 3
}
}

Get advanced insertion order details​

GET

Get an advanced list of insertion order details.

Query parameters
pageNo
integer
Page number of retrieved data.
pageSize
integer
Number of entries returned per page.
searchField
string
Filter results by search field.
Supported values: name and id.
sortBy
string
Sorts by ascending (+) or descending (-), default: -ioId.
offset
integer
Offset is alternative of page number. Offset is number of records to be skipped.
startDate
integer
Unix epoch timestamp of start date for returned data, in milliseconds.
endDate
integer
Unix epoch timestamp of end date for returned data, in milliseconds.
budgetTypeIds
string
Comma separated budget type IDs to include in data.
Supported values
1Budget
2Impression
ioStatusIds
string
Comma separated status IDs to include in data.
Supported values
1Active
2Expired
3Deleted
Response 200
{
"success": true,
"data": {
"totalRecords": 2,
"filteredRecords": 2,
"recordsTotal": {
"prebidCost": 0.0,
"clicks": 0,
"totalCount": 2,
"winRate": 0.0,
"logoURL": null,
"avatarURL": null,
"budgetDay": 0.0,
"budgetSpent": 0.0,
"budgetTotal": 0.0,
"dataCost": 0.0,
"mediaBudget": 0.0,
"owId": 0,
"orgId": 0,
"impressions": 0,
"industry": 0,
"mediaSpent": 0.0,
"spent": 0.0,
"organizationBidShadingSaving": null,
"workspaceSpent": 0.0,
"platformSpent": 0.0,
"customerSpent": 0.0,
"platformMediaEarning": 0.0,
"platformBidShadingEarning": 0.0,
"platformTotalEarning": 0.0,
"workspaceMediaEarning": 0.0,
"workspaceBidShadingEarning": 0.0,
"workspaceTotalEarning": 0.0,
"organizationName": null,
"companySize": 0,
"workspaceName": null,
"workspaceId": 0,
"workspaceDomain": null,
"workspaceOrganizationName": null,
"bidImpressions": 0,
"startCount": 0,
"firstCount": 0,
"midCount": 0,
"thirdCount": 0,
"completeCount": 0,
"audioVideoActualBids": 0,
"audioVideoActualImpressions": 0,
"eCPC": 0.0,
"eCPM": 0.0,
"eCPI": 0.0,
"eCPCV": 0.0,
"eCPV": 0.0,
"totalAttributedConversion": null,
"totalAttributedViewThroughConversion": null,
"totalAttributedClickThroughConversion": null,
"costPerAttributedConversion": null,
"totalAttributedConversionRate": null,
"reach": null,
"frequency": null,
"date": null,
"campaignId": 0,
"campaignName": null,
"maxBid": null,
"startTime": 0,
"endTime": 0,
"campaignType": null,
"status": null,
"mappingDataCost": 0.0,
"mappingSpent": 0.0,
"campaignTimezone": null,
"creativeType": null,
"budgetPacing": false,
"isCampaignFromNewPlatform": false,
"percentageOfTotalSpent": 0.0,
"uowId": 0,
"audioVideoViewed": 0.0,
"ioId": 0,
"ioName": null,
"ioTimezone": 0,
"ioBudgetDistributionMethod": 0,
"ioStartTime": 0,
"ioEndTime": 0,
"ioTotalBudget": 59900.0,
"isAutoSumIoTotalBudget": false,
"ioBudgetTypeId": 0,
"ioTotalImpressions": null,
"ioStatusId": 0,
"exchangeId": 0,
"exchangeName": null,
"budgetTypeId": 0,
"targetImpression": null,
"dailyImpression": null,
"creativesCount": null,
"campaignsCount": 0,
"pacingPercentage": null,
"actualSpent": null,
"expectedSpent": null,
"campaignDuration": null,
"remainingDuration": null,
"dailyPacingPercentage": null,
"expectedDailySpent": null,
"actualDailySpent": null,
"ioPacingPercentage": null,
"ioActualSpent": 0.0,
"ioExpectedSpent": 0.0,
"ioDuration": null,
"ioRemainingDuration": 0,
"budgetTotalCombined": null,
"budgetDayCombined": null,
"ioTotalBudgetCombined": null,
"campaignPriority": null,
"bidModelDataId": null,
"baseBid": null,
"campaignTypeId": null,
"workspaceVLDInsightsEarnings": null,
"platformVLDInsightsEarnings": null,
"isEligibleForVLDInsightsReport": null,
"vldInsightsCost": null,
"ioTimeZoneName": null,
"CTR": 0.0,
"VCR": 0.0,
"CVR": 0.0
},
"recordsList": [
{
"prebidCost": 0.0,
"clicks": 0,
"totalCount": 0,
"winRate": 0.0,
"logoURL": null,
"avatarURL": null,
"budgetDay": 0.0,
"budgetSpent": 0.0,
"budgetTotal": 0.0,
"dataCost": 0.0,
"mediaBudget": 0.0,
"owId": 203578,
"orgId": 0,
"impressions": 0,
"industry": 0,
"mediaSpent": 0.0,
"spent": 0.0,
"organizationBidShadingSaving": null,
"workspaceSpent": 0.0,
"platformSpent": 0.0,
"customerSpent": 0.0,
"platformMediaEarning": 0.0,
"platformBidShadingEarning": 0.0,
"platformTotalEarning": 0.0,
"workspaceMediaEarning": 0.0,
"workspaceBidShadingEarning": 0.0,
"workspaceTotalEarning": 0.0,
"organizationName": "Conor's Org",
"companySize": 0,
"workspaceName": null,
"workspaceId": 0,
"workspaceDomain": null,
"workspaceOrganizationName": null,
"bidImpressions": 0,
"startCount": 0,
"firstCount": 0,
"midCount": 0,
"thirdCount": 0,
"completeCount": 0,
"audioVideoActualBids": 0,
"audioVideoActualImpressions": 0,
"eCPC": 0.0,
"eCPM": 0.0,
"eCPI": 0.0,
"eCPCV": 0.0,
"eCPV": 0.0,
"totalAttributedConversion": null,
"totalAttributedViewThroughConversion": null,
"totalAttributedClickThroughConversion": null,
"costPerAttributedConversion": null,
"totalAttributedConversionRate": null,
"reach": 0,
"frequency": 0.0,
"date": null,
"campaignId": 0,
"campaignName": null,
"maxBid": null,
"startTime": 0,
"endTime": 0,
"campaignType": null,
"status": null,
"mappingDataCost": 0.0,
"mappingSpent": 0.0,
"campaignTimezone": null,
"creativeType": null,
"budgetPacing": false,
"isCampaignFromNewPlatform": false,
"percentageOfTotalSpent": 0.0,
"uowId": 0,
"audioVideoViewed": 0.0,
"ioId": 15844,
"ioName": "Test2",
"ioTimezone": 29,
"ioBudgetDistributionMethod": 1,
"ioStartTime": 1726517280000,
"ioEndTime": 0,
"ioTotalBudget": 50000.0,
"isAutoSumIoTotalBudget": true,
"ioBudgetTypeId": 1,
"ioTotalImpressions": null,
"ioStatusId": 1,
"exchangeId": 0,
"exchangeName": null,
"budgetTypeId": 1,
"targetImpression": null,
"dailyImpression": null,
"creativesCount": null,
"campaignsCount": 1,
"pacingPercentage": null,
"actualSpent": null,
"expectedSpent": null,
"campaignDuration": null,
"remainingDuration": null,
"dailyPacingPercentage": null,
"expectedDailySpent": null,
"actualDailySpent": null,
"ioPacingPercentage": 0.0,
"ioActualSpent": 0.0,
"ioExpectedSpent": 0.0,
"ioDuration": null,
"ioRemainingDuration": 0,
"budgetTotalCombined": null,
"budgetDayCombined": null,
"ioTotalBudgetCombined": 50000.0,
"campaignPriority": null,
"bidModelDataId": null,
"baseBid": null,
"campaignTypeId": null,
"workspaceVLDInsightsEarnings": null,
"platformVLDInsightsEarnings": null,
"isEligibleForVLDInsightsReport": null,
"vldInsightsCost": null,
"ioTimeZoneName": "US/Eastern",
"CTR": 0.0,
"VCR": 0.0,
"CVR": 0.0
},
{
"prebidCost": 0.0,
"clicks": 0,
"totalCount": 0,
"winRate": 0.0,
"logoURL": null,
"avatarURL": null,
"budgetDay": 0.0,
"budgetSpent": 0.0,
"budgetTotal": 0.0,
"dataCost": 0.0,
"mediaBudget": 0.0,
"owId": 203578,
"orgId": 0,
"impressions": 0,
"industry": 0,
"mediaSpent": 0.0,
"spent": 0.0,
"organizationBidShadingSaving": null,
"workspaceSpent": 0.0,
"platformSpent": 0.0,
"customerSpent": 0.0,
"platformMediaEarning": 0.0,
"platformBidShadingEarning": 0.0,
"platformTotalEarning": 0.0,
"workspaceMediaEarning": 0.0,
"workspaceBidShadingEarning": 0.0,
"workspaceTotalEarning": 0.0,
"organizationName": "Conor's Org",
"companySize": 0,
"workspaceName": null,
"workspaceId": 0,
"workspaceDomain": null,
"workspaceOrganizationName": null,
"bidImpressions": 0,
"startCount": 0,
"firstCount": 0,
"midCount": 0,
"thirdCount": 0,
"completeCount": 0,
"audioVideoActualBids": 0,
"audioVideoActualImpressions": 0,
"eCPC": 0.0,
"eCPM": 0.0,
"eCPI": 0.0,
"eCPCV": 0.0,
"eCPV": 0.0,
"totalAttributedConversion": null,
"totalAttributedViewThroughConversion": null,
"totalAttributedClickThroughConversion": null,
"costPerAttributedConversion": null,
"totalAttributedConversionRate": null,
"reach": 0,
"frequency": 0.0,
"date": null,
"campaignId": 0,
"campaignName": null,
"maxBid": null,
"startTime": 0,
"endTime": 0,
"campaignType": null,
"status": null,
"mappingDataCost": 0.0,
"mappingSpent": 0.0,
"campaignTimezone": null,
"creativeType": null,
"budgetPacing": false,
"isCampaignFromNewPlatform": false,
"percentageOfTotalSpent": 0.0,
"uowId": 0,
"audioVideoViewed": 0.0,
"ioId": 15688,
"ioName": "Test1",
"ioTimezone": 29,
"ioBudgetDistributionMethod": 1,
"ioStartTime": 1727755200000,
"ioEndTime": 0,
"ioTotalBudget": 9900.0,
"isAutoSumIoTotalBudget": true,
"ioBudgetTypeId": 1,
"ioTotalImpressions": null,
"ioStatusId": 1,
"exchangeId": 0,
"exchangeName": null,
"budgetTypeId": 1,
"targetImpression": null,
"dailyImpression": null,
"creativesCount": null,
"campaignsCount": 1,
"pacingPercentage": null,
"actualSpent": null,
"expectedSpent": null,
"campaignDuration": null,
"remainingDuration": null,
"dailyPacingPercentage": null,
"expectedDailySpent": null,
"actualDailySpent": null,
"ioPacingPercentage": 0.0,
"ioActualSpent": 0.0,
"ioExpectedSpent": 0.0,
"ioDuration": null,
"ioRemainingDuration": 0,
"budgetTotalCombined": null,
"budgetDayCombined": null,
"ioTotalBudgetCombined": 9900.0,
"campaignPriority": null,
"bidModelDataId": null,
"baseBid": null,
"campaignTypeId": null,
"workspaceVLDInsightsEarnings": null,
"platformVLDInsightsEarnings": null,
"isEligibleForVLDInsightsReport": null,
"vldInsightsCost": null,
"ioTimeZoneName": "US/Eastern",
"CTR": 0.0,
"VCR": 0.0,
"CVR": 0.0
}
]
}
}

Download advanced IO details​

POST

Download advanced IO details as CSV or XLSX file.

Request schema
pageNo
integer
Page number of retrieved data.
noOfEntries
integer
Number of entries returned per page.
searchField
string
Filter results by search field.
Supported values: name and id.
sortBy
string
Sorts by ascending (+) or descending (-), default: -ioId.
ioIdsList
array of integers
IO IDs to include in data.
timezoneId
integer
Timezone ID.
ioStatusIdsList
array of integers
Status IDs to include in data.
Supported values
1Active
2Expired
3Deleted
budgetTypeIdList
array of integers
Budget type IDs to include in data.
Supported values
1Budget
2Impression
columns
string
Column names to display in report as specified by label and value properties.
startDate
integer
Unix epoch timestamp of start date for returned data, in milliseconds.
endDate
integer
Unix epoch timestamp of end date for returned data, in milliseconds.
fileType
string
File type to download: csv or xlsx.
fileName
string
File name.
owIds
string
Download file will only contain data for comma separated Customer OW IDs.
Response properties
url
string
File download URL.
Request sample
{
"startDate": "1698638400000",
"endDate": "1698724799000",
"timezoneId": 29,
"searchField": "",
"sortBy": "impressions",
"order": "DESC",
"owIds": "",
"ioIdsList": [],
"ioStatusIdsList": [
1,
2
],
"fileType": "xlsx",
"fileName": "IO",
"budgetTypeIdList": [
1,
2
],
"columns": [
{
"label": "Insertion Order ID",
"value": "ioId"
},
{
"label": "Insertion Order Name",
"value": "ioName"
},
{
"label": "Status",
"value": "ioStatus"
},
{
"label": "Start date",
"value": "ioStartTime"
},
{
"label": "End date",
"value": "ioEndTime"
},
{
"label": "Impressions",
"value": "targetImpression"
},
{
"label": "Clicks",
"value": "clicks"
}
]
}
Response 200
{
"success": true,
"data": {
"url": "https://tmpd3vsekqsh1zre3k8n-stage.s3.amazonaws.com/"
}
}

Get IO campaign budget and details​

GET

Get an IO's campaigns budget and spending details.

Query parameters
ioId
integer
Insertion order ID to retrieve details for.
Response properties
totalAllocatedBudget
integer
Total budget allocated to IO's campaigns.
totalSpentBudget
integer
Total budget spent by IO's campaigns.
totalAllocatedImpression
integer
Total impressions allocated to IO's campaigns.
totalSpentImpression
integer
Total impressions spent by IO's campaigns.
totalImpressions
integer
Total impressions count of IO's campaigns.
totalBudget
integer
Total budget of IO's campaigns.
Response 200
{
"success": true,
"data": {
"totalAllocatedBudget": 0.01154397815666,
"totalSpentBudget": 0.01154397815666,
"totalAllocatedImpression": 0,
"totalSpentImpression": 0,
"totalImpressions": 0,
"totalBudget": 0.011543
}
}

Get list of campaign details grouped by insertion order ID​

POST

Get a list of campaigns details grouped by insertion order ID with supported filters.

Request schema
pageNo
integer
Page number of retrieved data, default: 1.
noOfEntries
integer
Number of entries returned per page, default: 20.
sortBy
string
Sorts by ascending (+) or descending (-) Supported values: ioId, ioName, ioStartTime, ioEndTime, ioTotalBudget, campaignId, isRecordTargeted.
searchField
string
Filter results by search field.
ioIdsList
array of integers
Filter by insertion order IDs. Records matching provided IDs will be returned first, before others.
campaignTypeIds
array of integers
Filter results by campaign type IDs.
Supported values
1Advanced campaign
2PG campaign
ids
array of integers
Filters for campaign IDs.
ioIds
array of integers
Filters for insertion order IDs.
status
array of strings
Filters for types of campaign Status.
creativeTypeIds
array of integers
Filters for creative type IDs.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
ioBudgetTypeIds
array of integers
Filters for budget type IDs.
Supported values
1Budget
2Impression
owIds
array of integers
Filters for Customer Organization Workspace IDs.
offset
integer
Offset is alternative of page number. Offset is number of records to be skipped.

Request sample
{
"creativeTypeIds": [
11,
14
],
"owIds": [
201427
],
"ids": [
321743
],
"searchField": "default",
"pageNo": 1,
"noOfEntries": 20,
"sortBy": "+ioId",
"status": [
"running",
"pending"
],
"ioIds": [
363
],
"campaignTypeIds": [
1
],
"ioBudgetTypeIds": [
1
],
"offset": 1
}
Response 200
{
"success": true,
"data": {
"totalRecords": 272,
"ioCampaignsList": [
{
"ioId": 4091,
"ioName": "Future start date",
"ioBudgetTypeId": 1,
"ioStatusId": 1,
"created": 1700726026913,
"lastModified": 1700726065000,
"owId": 201353,
"uowId": 8776,
"campaignCount": 1,
"campaigns": [
{
"id": 450700,
"campaignId": 450700,
"name": "future date campaign",
"creativeTypeId": 11,
"campaignTypeId": 1,
"status": "running",
"startTime": 1732690800,
"endTime": 1767164400,
"createdAt": 1701078853,
"modifiedAt": 1707091200000,
"owId": 201353,
"timezoneId": 21,
"targetedAudienceIds": [
1010324,
1054144,
1060433,
1063317
]
}
]
},
{
"ioId": 3979,
"ioName": "Test IO for campaign popup",
"ioBudgetTypeId": 1,
"ioStatusId": 1,
"created": 1700476689502,
"lastModified": 1701248369000,
"owId": 201353,
"uowId": 8776,
"campaignCount": 1,
"campaigns": [
{
"id": 451031,
"campaignId": 451031,
"name": "no end date",
"creativeTypeId": 11,
"campaignTypeId": 1,
"status": "running",
"startTime": 1701249000,
"createdAt": 1701248369,
"modifiedAt": 1707091200000,
"owId": 201353,
"timezoneId": 21,
"targetedAudienceIds": [
1010324,
1054144,
1060433,
1063317
]
}
]
},
{
"ioId": 225,
"ioName": "Beatrice King",
"ioBudgetTypeId": 1,
"ioStatusId": 2,
"created": 1677925263000,
"lastModified": 1700888400000,
"owId": 201353,
"uowId": 112037,
"campaignCount": 1,
"campaigns": [
{
"id": 450277,
"campaignId": 450277,
"name": "prod-campaign-20935 copy",
"creativeTypeId": 11,
"campaignTypeId": 1,
"status": "running",
"startTime": 1700819565,
"endTime": 1709182800,
"createdAt": 1700818673,
"modifiedAt": 1707177600000,
"owId": 201353,
"timezoneId": 29,
"targetedAudienceIds": null
}
]
},
{
"ioId": 48,
"ioName": "UAW",
"ioBudgetTypeId": 1,
"ioStatusId": 1,
"created": 1665500839000,
"lastModified": 1704704810000,
"owId": 201353,
"uowId": 8776,
"campaignCount": 1,
"campaigns": [
{
"id": 20731,
"campaignId": 20731,
"name": "prod-campaign-20731",
"creativeTypeId": 11,
"campaignTypeId": 1,
"status": "running",
"startTime": 1676700273,
"endTime": 1711857600,
"createdAt": 1676700278,
"modifiedAt": 1707177600000,
"owId": 201353,
"timezoneId": 29,
"targetedAudienceIds": null
}
]
}
],
"filteredRecords": 4
}
}

Get list of campaign details grouped by IO ID with filters​

POST

Get a list of insertion order details along with campaigns details attached to that IO based on filters.

Request schema
pageNo
integer
Page number of retrieved data, default: 1.
noOfEntries
integer
Number of entries returned per page, default: 20.
sortBy
string
Sorts by ascending (+) or descending (-) Supported values: ioId, ioName, ioStartTime, ioEndTime, ioTotalBudget, campaignId, isRecordTargeted.
searchField
string
Filter results by search field.
ioIds
array of integers
Filter by insertion order IDs. Records matching provided IDs will be returned first, before others.
campaignIds
array of integers
Filters results by provided campaign IDs.
status
array of strings
Filters for types of campaign Status.
creativeTypeIds
array of integers
Filters for creative type IDs.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
owIds
array of integers
Filters for Customer Organization Workspace IDs.
isAllOwIds
object
Filters records with all allowed OW IDs if true, prioritizes records over owIds.
startDate
integer required
Returns IOs with start date greater than date provided (should not be older than a year).
endDate
integer required
Returns IOs with start date less than date provided (should not be older than a year).

Request sample
{
"creativeTypeIds": [
11,
14
],
"status": [
"expired"
],
"owIds": [
201427
],
"ioIds": [
5437
],
"campaignIds": [
456354
],
"isAllOwIds": false,
"searchField": "c",
"pageNo": 0,
"noOfEntries": 20,
"offset": 1,
"sortBy": "ioId",
"startDate": 1676472364000,
"endDate": 1708008364000
}
Response 200
{
"success": true,
"data": {
"ioCampaignsList": [
{
"ioId": 363,
"ioName": "Default Insertion Order",
"ioBudgetTypeId": 2,
"ioStatusId": 1,
"created": 1691588961000,
"lastModified": 1691588961000,
"owId": 201427,
"uowId": 9489,
"campaignCount": 3,
"campaigns": [
{
"creativeTypeId": 11,
"id": 321743,
"name": "Campaign For Shoes",
"owId": 201427,
"status": "running",
"lastModified": 1690329600000,
"uowId": 9483,
"organizationName": "Organisation Name",
"organizationLogo": "https://webs.jpg"
},
{
"creativeTypeId": 17,
"id": 326679,
"name": "Cricket Campaign",
"owId": 201427,
"status": "running",
"lastModified": 1690329600000,
"uowId": 9485,
"organizationName": "Organisation Name",
"organizationLogo": "https://webs.jpg"
},
{
"creativeTypeId": 11,
"id": 323919,
"name": "Shirt Campaign",
"owId": 201427,
"status": "pending",
"lastModified": 1692144000000,
"uowId": 1,
"organizationName": "Organisation Name",
"organizationLogo": "https://webs.jpg"
}
]
}
],
"totalRecords": 1477,
"filteredRecords": 3
}
}

Get list of campaigns and report details by insertion order ID​

POST

Get a list of campaigns with detailed report by insertion order ID (ioId) with supported filters.

Request schema
pageNo
integer
Page number of retrieved data, default: 1.
noOfEntries
integer
Number of entries returned per page, default: 20.
sortBy
string
Sorts by ascending (+) or descending (-) (See supported values in collapsible section below table.).
searchField
string
Filter results by search field.
ioIdsList
array of integers
Filter by insertion order IDs. Records matching provided IDs will be returned first, before others.
budgetTypeIdList
array of integers
Filters for selected budget type IDs e.g. "impression based" or "budget based". Records matching the provided IDs will be returned.
Supported values
1Budget
2Impression
campaignIds
array of integers
Filters for selected campaign IDs. Records matching the provided IDs will be returned first, before others.
timeZoneId
integer
Filters campaigns for specified timezone ID.
campaignStatusList
array of strings
Filters campaigns by specified campaign Status.
creativeTypeIds
string
Filters campaigns by specified creative type ID.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
owIds
string
Filters campaigns by specified Customer Organization Workspace ID.
Supported sortBy Values
  • clicks
  • impressions
  • bidImpressions
  • startCount
  • firstCount
  • midCount
  • thirdCount
  • completeCount
  • dataCost
  • spent
  • mediaSpent
  • winRate
  • VCR
  • eCPC
  • eCPM
  • eCPI
  • CTR
  • CVR
  • eCPCV
  • eCPV
  • budgetDay
  • budgetTotal
  • campaignId
  • campaignName
  • maxBid
  • startTime
  • endTime
  • campaignType
  • status
  • budgetDay
  • budgetTotal
  • reach
  • frequency
  • mappingDataCost
  • mappingSpent
  • percentageOfTotalSpent
  • organizationName
  • audioVideoViewed
  • campaignTimezone
  • pixalateViewAbility
  • ioName
  • ioId
  • targetImpression
  • creativesCount
  • pacingPercentage
  • dailyPacingPercentage
  • prebidCost
  • ioTotalImpressions
  • dailyImpressions
  • campaignPriority
  • totalAttributedConversion
  • totalAttributedViewThroughConversion
  • totalAttributedClickThroughConversion
  • costPerAttributedConversion
  • totalAttributedConversionRate

Request sample
{
"campaignStatusList": [
"running"
],
"timezoneId": 29,
"owIds": "200425,201427",
"ids": [
1,
2
],
"ioIdsList": [
1,
2,
38
],
"budgetTypeIdList": [
1
],
"campaignIds": "1,2,3",
"sortBy": "+campaignName",
"creativeTypeIds": "14",
"searchField": "campaign"
}
Response 200
{
"success": true,
"data": {
"totalRecords": 2,
"filteredRecords": 2,
"recordsTotal": {
"clicks": 0,
"totalCount": 1,
"winRate": 0,
"logoURL": null,
"avatarURL": null,
"budgetDay": 0,
"budgetSpent": 0,
"budgetTotal": 56.339999999999904,
"dataCost": 0,
"mediaBudget": 0,
"owId": 0,
"orgId": 0,
"impressions": 0,
"industry": 0,
"mediaSpent": 0,
"spent": 0,
"workspaceSpent": 0,
"platformSpent": 0,
"customerSpent": 0,
"platformEarning": 0,
"workspaceEarning": 0,
"organizationName": null,
"companySize": 0,
"workspaceName": null,
"workspaceId": 0,
"workspaceDomain": null,
"workspaceOrganizationName": null,
"bidImpressions": 0,
"startCount": 0,
"firstCount": 0,
"midCount": 0,
"thirdCount": 0,
"completeCount": 0,
"audioVideoActualBids": 0,
"audioVideoActualImpressions": 0,
"eCPC": 0,
"eCPM": 0,
"eCPI": 0,
"eCPCV": 0,
"eCPV": 0,
"totalAttributedConversion": 0,
"totalAttributedViewThroughConversion": 0,
"totalAttributedClickThroughConversion": 0,
"costPerAttributedConversion": 0,
"totalAttributedConversionRate": 0,
"reach": 0,
"frequency": 0,
"date": null,
"campaignId": 0,
"campaignName": null,
"maxBid": 0,
"startTime": 0,
"endTime": 0,
"campaignType": null,
"status": null,
"mappingDataCost": 0,
"mappingSpent": 0,
"campaignTimezone": null,
"creativeType": null,
"budgetPacing": false,
"isCampaignFromNewPlatform": false,
"percentageOfTotalSpent": 0,
"uowId": 0,
"audioVideoViewed": 0,
"ioId": 0,
"ioName": null,
"ioTimezone": 0,
"ioBudgetDistributionMethod": 0,
"ioStartTime": 0,
"ioEndTime": 0,
"ioTotalBudget": 0,
"isAutoSumIoTotalBudget": false,
"ioBudgetTypeId": 0,
"ioTotalImpressions": null,
"pacingPercentage": null,
"actualSpent": 0,
"expectedSpent": 0,
"campaignDuration": null,
"remainingDuration": 0,
"dailyPacingPercentage": null,
"expectedDailySpent": 0,
"actualDailySpent": 0,
"ioStatusId": 0,
"exchangeId": 0,
"creativesCount": null,
"exchangeName": null,
"budgetTypeId": 0,
"targetImpression": null,
"dailyImpression": 0,
"budgetTotalCombined": 100,
"budgetDayCombined": 10,
"campaignPriority": null,
"ioTotalBudgetCombined": 1000,
"CTR": 0,
"VCR": 0,
"CVR": 0
},
"recordsList": [
{
"clicks": 0,
"totalCount": 0,
"winRate": 0,
"logoURL": null,
"avatarURL": null,
"budgetDay": 5,
"budgetSpent": 0,
"budgetTotal": 13,
"dataCost": 0,
"mediaBudget": 0,
"owId": 201427,
"orgId": 0,
"impressions": 0,
"industry": 0,
"mediaSpent": 0,
"spent": 0,
"workspaceSpent": 0,
"platformSpent": 0,
"customerSpent": 0,
"platformEarning": 0,
"workspaceEarning": 0,
"organizationName": "Organisation Name",
"companySize": 0,
"workspaceName": null,
"workspaceId": 0,
"workspaceDomain": null,
"workspaceOrganizationName": null,
"bidImpressions": 0,
"startCount": 0,
"firstCount": 0,
"midCount": 0,
"thirdCount": 0,
"completeCount": 0,
"audioVideoActualBids": 0,
"audioVideoActualImpressions": 0,
"eCPC": 0,
"eCPM": 0,
"eCPI": 0,
"eCPCV": 0,
"eCPV": 0,
"totalAttributedConversion": 0,
"totalAttributedViewThroughConversion": 0,
"totalAttributedClickThroughConversion": 0,
"costPerAttributedConversion": 0,
"totalAttributedConversionRate": 0,
"reach": 0,
"frequency": 0,
"date": null,
"campaignId": 445615,
"campaignName": "Campaign For Child",
"maxBid": 4,
"startTime": 1698445456,
"endTime": 1698739200,
"campaignType": "cpv",
"status": "pending",
"mappingDataCost": 0,
"mappingSpent": 0,
"campaignTimezone": "US/Alaska",
"creativeType": "Video",
"budgetPacing": true,
"isCampaignFromNewPlatform": true,
"percentageOfTotalSpent": 0,
"uowId": 9480,
"audioVideoViewed": 0,
"ioId": 2991,
"ioName": "Insertion Order For Donation",
"ioTimezone": 420,
"ioBudgetDistributionMethod": 0,
"ioStartTime": 1698446340000,
"ioEndTime": 1698739200000,
"ioTotalBudget": 26415,
"isAutoSumIoTotalBudget": true,
"ioBudgetTypeId": 0,
"ioTotalImpressions": null,
"pacingPercentage": 12.31,
"actualSpent": 123,
"expectedSpent": 212,
"campaignDuration": 5,
"remainingDuration": 2,
"dailyPacingPercentage": null,
"expectedDailySpent": 123,
"actualDailySpent": 0,
"ioStatusId": 1,
"exchangeId": 0,
"creativesCount": 2,
"exchangeName": null,
"budgetTypeId": 1,
"targetImpression": null,
"dailyImpression": 0,
"budgetTotalCombined": 100,
"budgetDayCombined": 10,
"campaignPriority": 1,
"ioTotalBudgetCombined": 1000,
"CTR": 0,
"VCR": 0,
"CVR": 0
}
],
"totalCount": 2
}
}

Download CSV/XLSX file for IO-based campaign details​

POST

Create a downloadable report of campaign details based on insertion order.

Request schema
searchField
string
Filters results by search field.
noOfEntries
integer
Number of entries returned per page, default: 20.
pageNo
integer
Page number of retrieved data, default: 1.
sortBy
string
Sorts by ascending (+) or descending (-).
owIds
array of integers
Filter results by Organization Workspace IDs.
ioIds
array of integers
Report will include provided campaign IO IDs.
campaignIds
string
Comma separated campaign IDs to include in report.
timeZoneId
integer
Filters data in report for provided timezone ID.
campaignStatus
string
Comma separated campaign statuses to include in report.
creativeTypeIds
string
Filters report for provided creative type IDs only.
columns
object required
Column names to display in report as specified by label and value properties.
startDate
integer required
Unix epoch start date for data in report, in milliseconds.
endDate
integer required
Unix epoch end date for data in report, in milliseconds.
fileType
string required
Specifies file type for download: csv or xlsx.
fileName
string required
Specifies file name for download.
Response properties
url
string
File download URL.
Request sample
{
"startDate": "1698984000000",
"endDate": "1699070399000",
"timezoneId": 29,
"campaignStatus": "pending,running",
"creativeTypeIds": "",
"searchField": "",
"sortBy": "+impressions",
"owIds": "",
"ioIdsList": [],
"campaignIds": "",
"conversionIds": "",
"fileType": "csv",
"fileName": "Campaigns",
"columns": [
{
"label": "ID",
"value": "campaignId"
},
{
"label": "Campaign Name",
"value": "campaignName"
},
{
"label": "Insertion Order Name",
"value": "ioName"
},
{
"label": "Start date",
"value": "startTime"
},
{
"label": "End date",
"value": "endTime"
},
{
"label": "Max Bid($)",
"value": "maxBid"
},
{
"label": "Daily Budget($)",
"value": "budgetDay"
},
{
"label": "Total Budget($)",
"value": "budgetTotal"
},
{
"label": "Total Spent($)",
"value": "spent"
},
{
"label": "Budget Completion(%)",
"value": "percentageOfTotalSpent"
},
{
"label": "Target Impressions",
"value": "targetImpression"
},
{
"label": "Impressions",
"value": "impressions"
},
{
"label": "Clicks",
"value": "clicks"
},
{
"label": "CTR(%)",
"value": "CTR"
},
{
"label": "eCPM($)",
"value": "eCPM"
},
{
"label": "VCR(%)",
"value": "VCR"
},
{
"label": "WinRate(%)",
"value": "winRate"
}
]
}
Response 200
{
"success": true,
"data": {
"url": "https://tmpd3vsekqsh1zre3k8n-stage.s3.amazonaws.com/"
}
}
More responses
Response 422
{
"success": false,
"errorObjects": [
{
"error": "Invalid sortBy value."
}
]
}

Get list of IO start/end dates​

POST
POST
Request schema
noOfEntries
integer
Number of entries returned per page, default: 300.
pageNo
integer
Page number of retrieved data, default: 1.
sortBy
string
Sorts by ascending (+) or descending (-), default: -ioDate.
owIds
array of integers
Filter results by Organization Workspace IDs.
isAllOwIds
boolean
Filters records with all allowed OW IDs if true, prioritizes records over owIds.
ids
array of integers
Prioritizes results of provided IDs over other records.
startDate
string
Filters for IOs with start date greater than the one specified.
endDate
string
Filters for IOs with a date less than the one specified.
Response properties
ioStartDateList
array of strings
List of IO start dates.
Request sample
{
"noOfEntries": 30,
"pageNo": -1,
"searchField": "",
"sortBy": "-Date",
"startDate": "08/17/2023",
"endDate": "11/17/2023"
}
Response 200
{
"success": true,
"data": {
"ioStartDateList": [
"02/21/2023",
"01/27/2023",
"01/20/2023",
"01/11/2023",
"01/06/2023",
"01/05/2023",
"12/29/2022",
"12/28/2022",
"12/23/2022",
"12/22/2022"
],
"totalRecords": 16,
"filteredRecords": 10
}
}

Insertion order management​

Create an insertion order​

POST

Create an insertion order with the following minimum required fields:

  • ioName
  • ioStartTime
  • ioEndTime
  • ioBudgetTypeId
{
"ioName": "IO Name 1",
"ioStartTime": 1690898148000,
"ioEndTime": 1690898888000,
"ioTotalBudget": 1000,
"ioTimeZoneId": 29,
"isAutoSumIoTotalBudget": true,
"ioBudgetTypeId": 1,
"ioBudgetDistributionMethodId": 1
}
{
"ioName": "IO Name 2",
"ioStartTime": 1690898148000,
"ioEndTime": 1690898888000,
"ioTimeZoneId": 29,
"isAutoSumIoTotalBudget": true,
"ioBudgetTypeId": 2,
"ioStatusId": 1,
"ioBudgetDistributionMethodId": 1
}
Response 200
{
"success": true,
"data": {
"ioId": 25096,
"ioName": "new IO 1",
"owId": 203578,
"createdByUowId": 188494,
"modifiedByUowId": 188494,
"ioStartTime": 1778299200000,
"ioEndTime": null,
"ioTotalBudget": null,
"ioTimeZoneId": 29,
"isAutoSumIoTotalBudget": true,
"ioBudgetDistributionMethodId": 1,
"ioBudgetTypeId": 1,
"ioTotalImpressions": null,
"ioStatusId": 1,
"ioNextPerformanceCheck": null,
"ioLastPriorityShift": null,
"ioCurrentPriority": null,
"isIoPrioritise": false
}
}

Update insertion order details​

PATCH

Update various properties of a given insertion order.

Path parameters
ioId
integer
Insertion order ID.
Request schema
ioName
string
Update insertion order name.
ioStartTime
integer
Unix epoch timestamp (in milliseconds) of IO start time.
ioEndTime
integer
Unix epoch timestamp (in milliseconds) of IO end time.
ioTotalBudget
integer
Budget of IO.
ioTimeZoneId
integer
Timezone ID.
ioTotalImpressions
integer
Number of impressions.
isAutoSumIoTotalBudget
boolean
If true Keeps IO budget same as total budget of all included campaigns.
Response properties
success
boolean
Indicates IO was succesfully updated: true.
data
string
Success message.
Request sample
{
"ioName": "IO Name 1",
"ioStartTime": 1690898148000,
"ioEndTime": 1690898888000,
"ioTotalBudget": 1000,
"ioTotalImpressions": 0,
"ioTimeZoneId": 29,
"ioBudgetTypeId": 1,
"isAutoSumIoTotalBudget": true
}
Response 200
{
"success": true,
"data": "IO Name 1 saved successfully."
}

Update end date for multiple IOs​

PATCH

Update the end date for a list of IOs from either an Advertiser profile or a Workspace.

Request schema
ioIdsList
array of integers
IO IDs to update.
ioEndTime
integer
Unix epoch timestamp of end time, in milliseconds.
ioTimezoneId
integer
Timezone ID.
ioOwId
integer optional
Insertion order Workspace ID (if updating as a workspace profile).
Response properties
success
boolean
Indicates IO was succesfully updated: true.
data
string
Success message.
Request sample
{
"ioIdsList": [
1,
2,
3
],
"ioEndTime": 1690898148000,
"ioTimezoneId": 29,
"ioOwId": 201427
}
Response 200
{
"success": true,
"data": "EndDate updated successfully"
}
More responses
Response 403
{
"success": false,
"errorObjects": [
{
"error": "Forbidden!"
}
]
}
Response 422
{
"success": false,
"errorObjects": [
{
"error": "IO IDs list can not be empty."
}
]
}

Update budget for multiple IOs​

PATCH

Update budget for a given list of IOs for either a dollar-based budget or an impressions-based budget.

Request schema
ioIdsList
array of integers
IO IDs to update with either budget or ioTotalImpressions.
budget
integer
Dollars-based budget amount.
ioTotalImpressions
integer
Impressions-based budget amount.
budgetUpdateType
string
set or add dollars-based budget type.
ioOwId
integer optional
Insertion order Workspace ID (if updating as a workspace profile).
Response properties
success
boolean
Indicates IO was succesfully updated: true.
data
string
Success message.
Request sample
{
"ioIdsList": [
1,
2,
3
],
"ioTotalImpressions": 10023,
"budgetUpdateType": "set",
"ioOwId": 201427
}
Response 200
{
"success": true,
"data": "Budget updated successfully"
}

Duplicate an insertion order​

POST

Duplicate a single IO, and all campaigns within that IO.

Request schema
ioExistingCampaignIds
array of integers
Campaign IDs within specified IO (ioId).
ioId
integer
Specified IO to duplicate.
ioTimeZoneId
integer
Timezone ID.
ioEndTime
integer
Unix epoch of IO end time.
ioStartTime
integer
Unix epoch of IO start time.
Response properties
duplicatedCampaignIds
array of integers
Duplicated campaign IDs.
duplicatedIOId
integer
Duplicated IO ID.
Request sample
{
"ioStartTime": 1698295604000,
"ioEndTime": 1698258600000,
"ioId": 223,
"ioTimeZoneId": 105,
"ioExistingCampaignIds": [
12345,
67890,
21345
]
}
Response 200
{
"success": true,
"data": {
"duplicatedCampaignIds": [
12345,
54321
],
"duplicatedIOId": 271
}
}

Delete an insertion order​

POST

Delete one or multiple IOs and all campaigns attached to them.

Request schema
ioIdsList
array of integers
Insertion order IDs.
Response properties
success
boolean
Indicates IO was succesfully updated: true.
data
string
Success message.
Request sample
{
"ioIdsList": [
1,
2,
3
]
}
Response 200
{
"success": true,
"data": "3 Insertion Orders deleted successfully"
}

Get more details​

Get frequency cap types​

GET

Get list of frequency cap types for campaign configuration.

Query parameter
frequencyCapTypeIds
integer
Filter by specific frequency cap type IDs (optional).
Response properties
frequencyCapTypes
array of objects
List of frequency cap types.
id
integer
Frequency cap type ID.
name
string
Frequency cap type name: days, weeks, months, campaign_duration.
displayName
string
Display name.
minDuration
integer
Minimum duration value.
maxDuration
integer
Maximum duration value.
Response 200
{
"success": true,
"data": {
"frequencyCapTypes": [
{
"id": 1,
"name": "days",
"order": 1,
"displayName": "Day(s)",
"minDuration": 1,
"maxDuration": 6
},
{
"id": 2,
"name": "weeks",
"order": 2,
"displayName": "Week(s)",
"minDuration": 1,
"maxDuration": 3
},
{
"id": 3,
"name": "months",
"order": 3,
"displayName": "Month(s)",
"minDuration": 1,
"maxDuration": 3
},
{
"id": 4,
"name": "campaign_duration",
"order": 4,
"displayName": "Campaign Duration",
"minDuration": null,
"maxDuration": null
}
],
"totalRecords": 4,
"filteredRecords": 4
}
}

AI-Based Optimization Campaign Goals and Objectives​

GET

Get static list of AI-Based Optimization Campaign Goals and Campaign Objectives.

See the Optimization & delivery overview - AI-Based Optimization (Automated) Help Center article for more information on Goal-AI objectives and goals.

Response properties
objectives
array of objects
List of Campaign Objectives: awareness, consideration, conversion.
goals
array of objects
List of Campaign Goals with their compatible creative types and KPI ranges.
id
integer
Campaign Objective or Campaign Goal ID.
name
string
Internal name.
displayName
string
Display name.
applicableGoals
array of integers
Campaign Goal IDs that apply to the Campaign Objective.
compatibleCreativeTypes
array of integers
Creative type IDs compatible with the Campaign Goal.
Supported values
0All
11Image
13HTML
14Video
15Native
17Audio
kpi
string
KPI metric name.
Response 200
"success": true,
"data": {
"objectives": [
{
"id": 1,
"name": "awareness",
"displayName": "Awareness",
"applicableGoals": [1, 2, 3, 4, 5, 8],
"displayOrder": 1
},
{
"id": 2,
"name": "consideration",
"displayName": "Consideration",
"applicableGoals": [9, 10, 2, 3, 4],
"displayOrder": 2
},
{
"id": 3,
"name": "conversion",
"displayName": "Conversion",
"applicableGoals": [11, 6, 7],
"displayOrder": 3
}
],
"goals": [
{
"id": 1,
"name": "increase_reach",
"displayName": "Increase Reach",
"compatibleCreativeTypes": [11, 13, 14, 15, 17],
"kpi": null,
"minKpi": 1,
"maxKpi": 100,
"displayOrder": 1
},
{
"id": 2,
"name": "increase_ctr",
"displayName": "Increase CTR",
"compatibleCreativeTypes": [11, 13, 14, 15, 17],
"kpi": "CTR",
"minKpi": 1,
"maxKpi": 100,
"displayOrder": 2
},
{
"id": 3,
"name": "increase_vcr",
"displayName": "Increase VCR",
"compatibleCreativeTypes": [14],
"kpi": "VCR",
"minKpi": 1,
"maxKpi": 100,
"displayOrder": 3
},
{
"id": 4,
"name": "increase_acr",
"displayName": "Increase ACR",
"compatibleCreativeTypes": [17],
"kpi": "ACR",
"minKpi": 1,
"maxKpi": 100,
"displayOrder": 4
},
{
"id": 5,
"name": "increase_viewable_impressions",
"displayName": "Increase Viewable Impressions",
"compatibleCreativeTypes": [11, 13, 14, 15],
"kpi": "Viewable Impressions",
"minKpi": 1,
"maxKpi": 100,
"displayOrder": 5
},
{
"id": 6,
"name": "increase_conversion_rate",
"displayName": "Increase Conversion Rate",
"compatibleCreativeTypes": [11, 13, 14, 15, 17],
"kpi": "Conversion Rate",
"minKpi": 1,
"maxKpi": 100,
"displayOrder": 6
},
{
"id": 7,
"name": "increase_roas",
"displayName": "Increase ROAS",
"compatibleCreativeTypes": [11, 13, 14, 15, 17],
"kpi": "ROAS",
"minKpi": 1,
"maxKpi": 100,
"displayOrder": 7
},
{
"id": 8,
"name": "reduce_cpm",
"displayName": "Reduce CPM",
"compatibleCreativeTypes": [11, 13, 14, 15, 17],
"kpi": "CPM",
"minKpi": 1,
"maxKpi": 100,
"displayOrder": 8
},
{
"id": 9,
"name": "reduce_cpc",
"displayName": "Reduce CPC",
"compatibleCreativeTypes": [11, 13, 14, 15, 17],
"kpi": "CPC",
"minKpi": 1,
"maxKpi": 100,
"displayOrder": 9
},
{
"id": 10,
"name": "reduce_cpcv",
"displayName": "Reduce CPCV",
"compatibleCreativeTypes": [14],
"kpi": "CPCV",
"minKpi": 1,
"maxKpi": 100,
"displayOrder": 10
},
{
"id": 11,
"name": "reduce_cpa",
"displayName": "Reduce CPA",
"compatibleCreativeTypes": [11, 13, 14, 15, 17],
"kpi": "CPA",
"minKpi": 1,
"maxKpi": 100,
"displayOrder": 11
}
]
}

Get estimator dimension list​

GET

Get list of supported parameters/dimensions for campaign reach and bid landscape estimation.

Response properties
targetableAudience
object
Supported dimensions for targetable audience estimation with boolean values.
bidLandscapeEstimation
object
Supported dimensions for bid landscape estimation with boolean values.
Response 200
{
"success": true,
"data": {
"targetableAudience": {
"countryIds": true,
"stateIds": true,
"countyIdsIncluded": true,
"cityIdsIncluded": true,
"zipCodesIncluded": true,
"ethnicityIds": true,
"ageIds": true,
"genderIds": true,
"incomeIds": true,
"whitelistLocationJson": true,
"deviceTypeIds": true
},
"bidLandscapeEstimation": {
"countryIds": false,
"creativeRtbTypes": true,
"creativeTypes": true,
"maxBid": true,
"deviceTypeNames": true,
"stateCodes": true,
"excludedExchangeNames": true,
"dmaCodesIncluded": true,
"dealIds": true,
"whitelistInventoryGroupIds": true,
"blacklistInventoryGroupIds": true,
"whitelistSiteDomains": true,
"blacklistSiteDomains": true,
"whitelistAppIds": true,
"blacklistAppIds": true,
"zipCodes": true,
"locationJson": true,
"trafficTypeNames": true
}
}
}

Get IO status list​

GET

Get list of IO statuses and their corresponding details.

Status IDs
1Active.
2Expired.
3Deleted.
Response 200
{
"success": true,
"data": {
"ioStatusList": [
{
"name": "active",
"id": 1,
"label": "Active",
"order": 1
},
{
"name": "expired",
"id": 2,
"label": "Expired",
"order": 2
},
{
"name": "deleted",
"id": 3,
"label": "Deleted",
"order": 3
}
],
"totalRecords": 3,
"filteredRecords": 3
}
}

Get list of campaign budget types​

GET

Get a list of budget types for campaigns and insertion orders.

See the Budget-based and impression-based insertion order (IO) overview Help Center article for more information.

Properties
1
Budget
Campaigns serve with set budget amount.
2
Impression
Campaigns serve with set target for impressions to generate.
Response 200
{
"success": true,
"data": {
"totalRecords": 2,
"filteredRecords": 2,
"budgetTypeData": [
{
"id": 1,
"name": "budget",
"label": "Budget",
"order": 1
},
{
"id": 2,
"name": "impression",
"label": "Impression",
"order": 2
}
]
}
}

Get list of budget distribution methods​

GET

Get list of budget distribution methods.

Status IDs
1Manual.
2Auto.
Response 200
{
"success": true,
"data": {
"budgetDistributionMethodData": [
{
"name": "manual",
"id": 1,
"label": "Manual",
"order": 1
},
{
"name": "auto",
"id": 2,
"label": "Auto",
"order": 2
}
],
"totalRecords": 2,
"filteredRecords": 2
}
}

Have a question?
Was this page helpful?