Audience API
Overview
The Audience API allows you to create different types of Audiences for Campaign targeting based on desired specifications. The following table describes each type of Audience:
Type | Description |
---|---|
Matched Audience | Upload a CSV or XLSX file with Audience details which is then matched with IQM's user database to create a custom Audience segment. |
Retargeted Audience | Add a tracking tag to your website allowing you to track users who visit so they can be retargeted to receive ads in the future. |
Geo-Farmed Audience | Define an Audience by a custom geographical area. |
Campaign Audience | Retarget an Audience associated with a Campaign. |
Audience Segment | Group users by common characteristics to reach specific target Audiences. |
Pre-bid Audience | Select multiple pre-bid segments and group them together into an Audience. |
Contextual Audience | IQM adds users to an Audience when they visit sites featuring specified keywords or URLs. |
Lookalike Audience | Analyzes an existing Audience and generates a new one based on specified size and similarity percentage. |
ABM Audience | Account-Based Marketing for healthcare Campaigns. |
Learn more about Audiences with our Selecting your Audiences help center article.
Authentication
Use the following header parameters for all requests:
Headers | |
---|---|
Authentication string required | Authentication bearer token See Authentication Guide |
X-IAA-OW-ID integer required | Organization Worskpace ID Header |
Audience Details
Matched Audience Details
GET /api/v2/audience/matched/{id}Get Matched Audience details by ID.
Path Parameter | |
---|---|
id string | Matched Audience ID |
Response Properties
id integer | Audience ID |
audienceName string | Audience name |
existingColumnMatching string | Matched Audience file columns mapped with system fields in JSON serialized string format |
columnSettings string | Matched Audience columns settings as per the selected columns for matching in JSON serialized string format |
metadata string | Matched Audience sample data with system fields in JSON serialized string format |
status string | Audience status |
matchRate integer | The percentage of matched records compared to a reference set |
minEcpm integer | Minimum effective cost per mille |
maxEcpm integer | Maximum effective cost per mille |
s3FileName string | Audience file name |
included integer | Count of Campaigns including this Audience |
excluded integer | Count of Campaigns excluding this Audience |
createdDate integer | Unix epoch creation date, in milliseconds |
modifiedDate integer | Modified date |
organizationName string | Organization name |
userEmail string | User email |
userName string | User name |
expectedSpent7 integer | |
expectedSpent30 integer | |
expectedSpent60 integer | |
dataCost integer | Fees charged by the platform if the Audience is used in any Campaign |
fileTotalCount integer | Number of records updated in a Matched Audience file |
owId integer | Organization Workspace ID |
uowId integer | User Organization Workspace ID |
uniques integer | Count of unique Audiences reached |
verticalId integer | Vertical ID |
isApprovalAcces boolean | Indicates if user has access to approve |
isEditAccess boolean | Indicates if user has edit access for the requested resource |
isSingleColumnEnabled boolean | Flag to indicate if the mapping is single column enabled, if the voterId/phone/email/full-address is the primary column mapping then this should be true, and false otherwise. Default value: false |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": {
"id": 12345,
"audienceName": "Sample audience",
"existingColumnMatching": "{\"LALVOTERID\":\"Voters_ID\"}",
"columnSettings": "{\"Voters_ID\":\"LalVoterID\"}",
"metadata": "{\"voterIDColumn\":[\"LALVOTERID\"],\"columns\":[\"LALVOTERID\",\"Residence_Addresses_Zip\",\"Residence_Addresses_State\",\"Voters_FirstName\",\"Voters_LastName\"],\"fileName\":\"matched_audience fn-ln-st-zp.csv\",\"fileSize\":17915,\"rows\":0,\"columnValues\":{\"LALVOTERID\":[\"LALNY106413966\",\"LALNY111849285\",\"LALNY110212948\"],\"Residence_Addresses_Zip\":[\"11021\",\"11050\",\"11050\"],\"Residence_Addresses_State\":[\"NY\",\"NY\",\"NY\"],\"Voters_FirstName\":[\"Mei\",\"Carole\",\"Erin\"],\"Voters_LastName\":[\"Liu\",\"Visconti\",\"Orr\"]}}",
"status": "Processing",
"matchRate": 0,
"minEcpm": 0,
"maxEcpm": 0,
"s3FileName": "Test audience voter id",
"included": 0,
"excluded": 0,
"createdDate": 1683200348,
"modifiedDate": 1683200348,
"organizationName": "Sample orgranization name",
"userEmail": "sample@example.com",
"userName": "Dummy User",
"expectedSpent7": 0,
"expectedSpent30": 0,
"expectedSpent60": 0,
"dataCost": 0,
"fileTotalCount": 502,
"owId": 1000001,
"uowId": 10001,
"uniques": 0,
"verticalId": 8,
"isApprovalAccess": false,
"isEditAccess": true,
"isSingleColumnEnabled": true
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
statusCode: number;
responseObject: {
id: number;
audienceName: string;
existingColumnMatching: string;
columnSettings: string;
metaData: string;
status: string;
matchRate: number;
minEcpm: number;
maxEcpm: number;
s3FileName: string;
included: number;
excluded: number;
createdDate: number;
modifiedDate: number;
organizationName: string;
userEmail: string;
expectedSpent7: number;
expectedSpent30: number;
expectedSpent60: number;
dataCost: number;
fileTotalCount: number;
owId: number;
uniques: number;
verticalId: number;
isApprovalAcces: boolean;
isEditAccess: boolean;
isSingleColumnEnabled: boolean
}[];
};
};
};
}
function getMatchedAudienceDetails(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/audience/matched/{id}',
params: {
path: {
id: `number`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Retargeted Audience Details
GET /api/v3/audience/retarget/{retargeted_audience_id}Get Retargeted Audience details by ID.
Path Parameter | |
---|---|
retargeted_audience_id string | Retargeted Audience ID |
Response Properties
id integer | Audience ID |
name string | Audience name |
status string | Audience status |
type integer | Audience Type ID |
includedCount integer | Count of Campaigns including this Audience |
excludedCount integer | Count of Campaigns excluding this Audience |
createdOn integer | Unix epoch creation date, in milliseconds |
organizationName string | Organization name |
owId integer | Organization Workspace ID |
createdByUowId integer | Created by User Organization Workspace ID |
createdByUser string | Created by User |
tagId string | Audience Conversion tag ID |
duration string | Retargeted Audience duration Supported values: month, date_range |
time integer | If duration is set to month, indicates the number of months |
startDate integer | Unix epoch start date, in milliseconds |
endDate integer | Unix epoch end date, in milliseconds |
editAccess boolean | Indicates if user has edit access for the requested resource |
- JSON
- TypeScript
{
"success": true,
"data": {
"id": 1,
"name": "Sample Audience Name",
"status": "Processing",
"type": 3,
"includedCount": 0,
"excludedCount": 0,
"createdOn": 1610357876000,
"organizationName": "Sample organization name",
"owId": 1,
"createdByUowId": 1,
"createdByUser": "Sample user name",
"tagId": "08008997-b894-4ebb-afd8-a1304537f2d0",
"duration": "MONTH",
"time": 1,
"startDate": 0,
"endDate": 0,
"editAccess": true
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
name: string;
status: string;
type: number;
includedCount: number;
excludedCount: number;
createdOn: number;
organizationName: string;
owId: number;
createdByUowId: number;
createdByUser: string;
tagId: string;
duration: string;
time: number;
startDate: number;
endDate: number;
editAccess: boolean;
};
};
};
};
}
function GetRetargetedAudienceDetails(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/retarget/{retargeted_audience_Id}',
params: {
path: {
retargeted_audience_Id: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Geo-Farmed Audience Details
GET /api/v3/audience/geo-farmed/{geo-farmed_audience_id}Get Geo-Farmed Audience Details by ID.
Path Parameter | |
---|---|
geo-farmed_audience_id string | Geo-Farmed Audience ID |
Response Properties
audienceName string | Audience name | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
frequency string | The frequency of visit to the geographical location, based on frequencyType | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
frequencyType string | Frequency Type ID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
startDate integer | Unix epoch start date, in milliseconds | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
endDate integer | Unix epoch end date, in milliseconds | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
timeRange object | Name-Value pairs of day of the week (e.g. Monday: 1, Tuesday: 2, etc.) and an object containing a time range (see example below this table) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
removedLocationsIds array of integers | Removed location IDs, as specified in the uploaded location file | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
locations object | Locations object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
country integer | Country ID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
included object | Included locations object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
locationIds array of integers | Location IDs | ||||||||||||||||||||||||||||||||||||
states array of integers | State IDs | ||||||||||||||||||||||||||||||||||||
counties array of integers | County IDs | ||||||||||||||||||||||||||||||||||||
cities array of integers | City IDs | ||||||||||||||||||||||||||||||||||||
stateSenates array of integers | State senate IDs | ||||||||||||||||||||||||||||||||||||
stateHouses array of integers | State house IDs | ||||||||||||||||||||||||||||||||||||
congressionalDistrictIds array of integers | Congressional District IDs | ||||||||||||||||||||||||||||||||||||
zipCodes array of integers | Zip code IDs | ||||||||||||||||||||||||||||||||||||
customAreas object | Custom areas | ||||||||||||||||||||||||||||||||||||
|
latitude integer | Latitude | |||||
longitude integer | Longitude | |||||
radius integer | Radius (miles) | |||||
address string | Addresses to add to custom area | |||||
locationId integer | Location ID | |||||
polypath object | A set of coordinates defining the boundary of the custom area | |||||
|
lat integer | Latitude |
lng integer | Longitude |
isIncluded
boolean
cid
string
sid
string
type
string
unit
string
cdId
integer
sdId
integer
hdId
integer
excluded
object
excluded
object properties
locationIds array of integers | Location IDs | ||||||||||||||||||||||||||||||||||||
states array of integers | State IDs | ||||||||||||||||||||||||||||||||||||
counties array of integers | County IDs | ||||||||||||||||||||||||||||||||||||
cities array of integers | City IDs | ||||||||||||||||||||||||||||||||||||
stateSenates array of integers | State senate IDs | ||||||||||||||||||||||||||||||||||||
stateHouses array of integers | State house IDs | ||||||||||||||||||||||||||||||||||||
congressionalDistrictIds array of integers | Congressional District IDs | ||||||||||||||||||||||||||||||||||||
zipCodes array of integers | Zip code IDs | ||||||||||||||||||||||||||||||||||||
customAreas object | Custom areas | ||||||||||||||||||||||||||||||||||||
|
latitude integer | Latitude | |||||
longitude integer | Longitude | |||||
radius integer | Radius (miles) | |||||
address string | Address | |||||
locationId integer | Location ID | |||||
polypath object | A set of coordinates defining the boundary of the custom area | |||||
|
lat integer | Latitude |
lng integer | Longitude |
isIncluded
boolean
cid
string
sid
string
type
string
unit
string
cdId
integer
sdId
integer
hdId
integer
locationFileIds
array of integers
- JSON
- TypeScript
{
"success": true,
"data": {
"id": 0,
"name": "string",
"status": "string",
"type": 0,
"includedCount": 0,
"excludedCount": 0,
"createdOn": 0,
"organizationName": "string",
"owId": 0,
"createdByUowId": 0,
"createdByUser": "string",
"uniques": 0,
"frequency": 0,
"frequencyType": 0,
"startDate": 0,
"endDate": 0,
"timezone": 0,
"timeRange": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"locations": {
"included": {
"states": [
30200028,
30200041
],
"cities": [
30430094,
30430093,
30445951
],
"counties": [
30315199,
30315203,
30322340
],
"stateSenates": [
30714553,
30721606
],
"stateHouses": [
30802998,
30802999
],
"congressionalDistricts": [
30613735
],
"zipCodes": [
27513,
27502
],
"customAreas": [
{
"latitude": 35.406129635621866,
"longitude": -78.33474172529601,
"radius": 0.5,
"address": "Four Oaks, NC 27524, USA",
"locationId": 0,
"isIncluded": true,
"cid": "246",
"sid": "4695",
"type": "circle",
"unit": "mile",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.43298954844131,
"longitude": -78.3107305901947,
"radius": 0.5,
"address": "Smithfield, NC 27577, USA",
"locationId": 0,
"isIncluded": true,
"cid": "246",
"sid": "4695",
"type": "circle",
"unit": "mile",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.43904739191802,
"longitude": -78.20096345526908,
"radius": 3.41,
"address": "Princeton, NC 27569, USA",
"locationId": 0,
"polypath": [
{
"lat": 35.45918892465155,
"lng": -78.23392243964408
},
{
"lat": 35.465900156326505,
"lng": -78.16525788886283
},
{
"lat": 35.41890977772045,
"lng": -78.17624421698783
},
{
"lat": 35.41219462750953,
"lng": -78.23666902167533
}
],
"isIncluded": true,
"cid": "246",
"sid": "4695",
"type": "custom",
"unit": "mile",
"cdId": 0,
"sdId": 0,
"hdId": 0
}
],
"locationIds": [
50488,
50487
]
},
"excluded": {
"states": null,
"cities": [
30430078,
30430028
],
"counties": [
30322361
],
"stateSenates": [
30714556
],
"stateHouses": [
30804307,
30804308
],
"congressionalDistricts": [
30613736,
30620347
],
"zipCodes": [
27519
],
"customAreas": [
{
"latitude": 35.406129635621866,
"longitude": -78.33474172529601,
"radius": 0.5,
"address": "Four Oaks, NC 27524, USA",
"locationId": 0,
"isIncluded": true,
"cid": "246",
"sid": "4695",
"type": "circle",
"unit": "mile",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.47596252362811,
"longitude": -78.08560700995658,
"radius": 4.56,
"address": "Pikeville, NC 27863, USA",
"locationId": 0,
"polypath": [
{
"lat": 35.45247713304938,
"lng": -78.12680574042533
},
{
"lat": 35.49944791420684,
"lng": -78.04440827948783
}
],
"isIncluded": true,
"cid": "246",
"sid": "4695",
"type": "square",
"unit": "mile",
"cdId": 0,
"sdId": 0,
"hdId": 0
}
],
"locationIds": [
50486,
50485
]
},
"locationFileIds": [
1656
],
"country": 30100001
},
"bulkLocationDetails": {
"additionalProp1": {
"fileName": "bulk-addresses-example (1)(2).csv",
"fileType": "address",
"validLocations": [
{
"latitude": 35.8440009,
"longitude": -78.65798,
"radius": 1.2,
"address": "4604 Gramercy Ct,Raleigh,NC,27609",
"locationId": 50485,
"isIncluded": false,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.8074803,
"longitude": -78.6582902,
"radius": 1.5,
"address": "2612 Dover Rd,Raleigh,NC,27608",
"locationId": 50486,
"isIncluded": false,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.7803352,
"longitude": -78.53267629999999,
"radius": 1.34,
"address": "1002 Lyndhurst Falls Ln,Knightdale,NC,27545",
"locationId": 50487,
"isIncluded": true,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.7831443,
"longitude": -78.6388985,
"radius": 0.5,
"address": "16 West Jones Street,Raleigh,NC,27601",
"locationId": 50488,
"isIncluded": true,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
}
],
"id": 1656
},
"additionalProp2": {
"fileName": "bulk-addresses-example (1)(2).csv",
"fileType": "address",
"validLocations": [
{
"latitude": 35.8440009,
"longitude": -78.65798,
"radius": 1.2,
"address": "4604 Gramercy Ct,Raleigh,NC,27609",
"locationId": 50485,
"isIncluded": false,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.8074803,
"longitude": -78.6582902,
"radius": 1.5,
"address": "2612 Dover Rd,Raleigh,NC,27608",
"locationId": 50486,
"isIncluded": false,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.7803352,
"longitude": -78.53267629999999,
"radius": 1.34,
"address": "1002 Lyndhurst Falls Ln,Knightdale,NC,27545",
"locationId": 50487,
"isIncluded": true,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.7831443,
"longitude": -78.6388985,
"radius": 0.5,
"address": "16 West Jones Street,Raleigh,NC,27601",
"locationId": 50488,
"isIncluded": true,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
}
],
"id": 1656
},
"additionalProp3": {
"fileName": "bulk-addresses-example (1)(2).csv",
"fileType": "address",
"validLocations": [
{
"latitude": 35.8440009,
"longitude": -78.65798,
"radius": 1.2,
"address": "4604 Gramercy Ct,Raleigh,NC,27609",
"locationId": 50485,
"isIncluded": false,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.8074803,
"longitude": -78.6582902,
"radius": 1.5,
"address": "2612 Dover Rd,Raleigh,NC,27608",
"locationId": 50486,
"isIncluded": false,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.7803352,
"longitude": -78.53267629999999,
"radius": 1.34,
"address": "1002 Lyndhurst Falls Ln,Knightdale,NC,27545",
"locationId": 50487,
"isIncluded": true,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.7831443,
"longitude": -78.6388985,
"radius": 0.5,
"address": "16 West Jones Street,Raleigh,NC,27601",
"locationId": 50488,
"isIncluded": true,
"cid": "US",
"sid": "NC",
"cdId": 0,
"sdId": 0,
"hdId": 0
}
],
"id": 1656
}
},
"editAccess": true
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
name: string;
status: string;
type: number;
includedCount: number;
excludedCount: number;
createdOn: number;
organizationName: string;
owId: number;
createdByUowId: number;
createdByUser: string;
uniques: number;
frequency: number;
frequencyType: number;
startDate: number;
endDate: number;
timezone: number;
timeRange: {
[key: string]: string;
};
locations: {
included: {
locationIds: number[];
states: number[];
counties: number[];
cities: number[];
stateSenates: number[];
stateHouses: number[];
congressionalDistricts: number[];
zipCodes: number[];
customAreas: {
latitude: number;
longitude: number;
radius: number;
address: string;
locationId: number;
isIncluded: boolean;
cid: string;
sid: string;
type: string;
unit: string;
cdId: number;
sdId: number;
hdId: number;
polypath?: {
lat: number;
lng: number;
}[];
}[];
};
excluded: {
states: string | null;
cities: number[];
counties: number[];
stateSenates: number[];
stateHouses: number[];
congressionalDistricts: number[];
zipCodes: number[];
customAreas: {
latitude: number;
longitude: number;
radius: number;
address: string;
locationId: number;
isIncluded: boolean;
cid: string;
sid: string;
type: string;
unit: string;
cdId: number;
sdId: number;
hdId: number;
polypath?: {
lat: number;
lng: number;
}[];
}[];
locationIds: number[];
};
locationFileIds: number[];
country: number;
};
bulkLocationDetails: {
[key: string]: {
fileName: string;
fileType: string;
validLocations: {
latitude: number;
longitude: number;
radius: number;
address: string;
locationId: number;
isIncluded: boolean;
cid: string;
sid: string;
cdId: number;
sdId: number;
hdId: number;
}[];
id: number;
};
};
editAccess: boolean;
};
};
};
};
}
function GetGeo-FarmedAudienceDetails(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/geo-farmed/{geo-farmed_audience_Id}',
params: {
path: {
geo-farmed_audience_Id: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Campaign Audience Details
GET /api/v3/audience/campaign/{campaign_audience_id}Get Campaign Audience details by ID.
Path Parameter | |
---|---|
campaign_audience_id string | Campaign Audience ID |
Response Properties
id integer | Audience ID | |||||||
name string | Audience name | |||||||
status string | Audience status | |||||||
type integer | Audience Type ID | |||||||
includedCount integer | Count of Campaigns including this Audience | |||||||
excludedCount integer | Count of Campaigns excluding this Audience | |||||||
createdOn integer | Unix epoch creation date, in milliseconds | |||||||
organizationName string | Organization name | |||||||
owId integer | Organization Workspace ID | |||||||
createdByUowId integer | Created by User Organization Workspace ID | |||||||
createdByUser string | Created by user name | |||||||
uniques integer | Count of unique Audiences reached | |||||||
campaignDetail object | Campaign details | |||||||
|
impressions object | Name-Value pairs of campaignId and campaignName |
clicks object | Name-Value pairs of campaignId and campaignName |
conversions object | Name-Value pairs of campaignId and campaignName |
startDate
integer
endDate
integer
editAccess
boolean
- JSON
- TypeScript
{
"success": true,
"data": {
"id": 1,
"name": "Sample audience name",
"status": "Ready",
"type": 7,
"includedCount": 4,
"excludedCount": 0,
"createdOn": 1641911753,
"organizationName": "Sample organiation name",
"owId": 1,
"createdByUowId": 1,
"createdByUser": "Sample username",
"uniques": 0,
"campaignDetail": {
"impression": {
"1": "Sample campaign name 1",
"2": "Sample campaign name 2"
},
"clicks": {
"3": "Sample campaign name 3"
},
"conversion": {
"4": "Sample campaign name 4"
}
},
"startDate": 1638316800,
"endDate": 1640085173,
"editAccess": true
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
name: string;
status: string;
type: number;
includedCount: number;
excludedCount: number;
createdOn: number;
organizationName: string;
owId: number;
createdByUowId: number;
createdByUser: string;
uniques: number;
campaignDetail: {
impression: {
[key: string]: string;
};
clicks: {
[key: string]: string;
};
conversion: {
[key: string]: string;
};
};
startDate: number;
endDate: number;
editAccess: boolean;
};
};
};
};
}
function GetCampaignAudienceDetails(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/campaign/{campaign_audience_Id}',
params: {
path: {
campaign_audience_Id: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Pre-bid Audience Details
GET /api/v3/audience/prebid/{prebidAudienceId}Get Pre-bid Audience details by ID.
Path Parameter | |
---|---|
prebidAudienceId string | Pre-bid Audience ID |
Response Properties
id integer | Audience ID | |||||||||||||||||||||
name string | Audience name | |||||||||||||||||||||
owId integer | Organization Workspace ID | |||||||||||||||||||||
createdByUowId integer | Created by User Organization Workspace ID | |||||||||||||||||||||
cpm integer | Cost per mille | |||||||||||||||||||||
createdOn integer | Unix epoch creation date, in milliseconds | |||||||||||||||||||||
prebidSegmentData array of objects | Pre-bid Segment Data | |||||||||||||||||||||
|
prebidAudienceSegmentId integer | Pre-bid Audience Segment ID |
prebidAudienceSegmentName string | Pre-bid Audience Segment name |
prebidAudienceSegmentRootId integer | Pre-bid Audience Segment root ID |
description string | Description |
parentPathKey string | Key representing parent path or category that an Audience Segment belongs to |
cpm integer | Cost per mille |
creativeTypeIdList array of integers | Creative Type ID list |
providerId integer | Provider ID |
providerName string | Provider name |
providerLogoUrl string | Provider logo URL |
- JSON
- TypeScript
{
"success": true,
"data": {
"id": 1023240,
"name": "CA-1 relation",
"owId": 201427,
"createdByUowId": 9491,
"cpm": 0.05,
"createdOn": 1698049238,
"prebidSegmentData": [
{
"prebidAudienceSegmentId": 100,
"prebidAudienceSegmentName": "prebidSegmentName",
"prebidAudienceSegmentRootId": 3,
"description": "Target 50% or Higher viewability rate for display on Mobile App",
"parentPathKey": "Viewability > Display",
"cpm": 0.1,
"creativeTypeIdList": [
11,
14
],
"providerId": 1,
"providerName": "Integral Ad Science",
"providerLogoUrl": "logourl.com"
},
{
"prebidAudienceSegmentId": 64,
"prebidAudienceSegmentName": "prebidSegmentName",
"prebidAudienceSegmentRootId": 1,
"description": "Avoid High and Moderate risk Hate Speech content apps on Mobile App",
"parentPathKey": "Brand Safety > Video",
"cpm": 0.1,
"creativeTypeIdList": [
11,
14
],
"providerId": 1,
"providerName": "Integral Ad Science",
"providerLogoUrl": "logourl.com"
}
]
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
name: string;
status: string;
owId: number;
createdByUowId: number;
cpm: number;
createdOn: number;
prebidSegmentData: {
prebidAudienceSegmentId: number;
prebidAudienceSegmentName: string;
prebidAudienceSegmentRootId: number;
description: string;
parentPathKey: string;
cpm: number;
creativeTypeIdList: number[];
providerId: number;
providerName: string;
providerLogoUrl: string;
}[];
};
};
};
};
}
function getPrebidAudienceDetailsByAudienceId(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/prebid/{prebidAudienceId}',
params: {
path: {
prebidAudienceId: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Search Pre-bid Audience Details
POST /api/v3/audience/prebid/details/search/listSearch Pre-bid Audiences by specified parameters.
Request Schema | |
---|---|
prebidAudienceSegmentIdList array of integers | Pre-bid Audience Segment ID list |
prebidAudienceIdList array of integers | Pre-bid Audience ID list |
providerIdList array of integers | Provider ID list |
searchField string | Search field |
Response Properties
prebidSegmentData array of objects | Pre-bid Segment Data | |||||||||||||||||||||||
|
prebidAudienceSegmentId integer | Pre-bid Audience Segment ID |
prebidAudienceSegmentName string | Pre-bid Audience Segment name |
prebidAudienceSegmentRootId integer | Pre-bid Audience Segment root ID |
description string | Description |
parentPathKey string | Parent path key |
cpm integer | Cost per mille |
isLeaf booelan | Indicates that an Audience Segment is a leaf node in a hierarchical Audience structure: true |
creativeTypeIdList array of integers | Creative Type ID list |
providerId integer | Provider ID |
providerName string | Provider name |
providerLogoUrl string | Provider logo URL |
- JSON
- TypeScript
{
"prebidAudienceSegmentIdList": [
156,
157
],
"prebidAudienceIdList": [
1033983
],
"providerIdList": [
1
],
"searchField": "risk"
}
{
"success": true,
"data": {
"totalRecords": 2,
"prebidSegmentData": [
{
"prebidAudienceSegmentId": 158,
"prebidAudienceSegmentName": "Avoid High and Moderate risk Alcohol content pages",
"description": "Avoid High and Moderate risk Alcohol content pages",
"parentPathKey": "Brand Safety > Display",
"cpm": 0.05,
"isLeaf": true,
"creativeTypeIdList": [
11,
14
],
"prebidAudienceSegmentRootId": 1,
"providerId": 1
},
{
"prebidAudienceSegmentId": 156,
"prebidAudienceSegmentName": "Avoid High and Moderate risk Adult content pages",
"description": "Avoid High and Moderate risk Adult content pages",
"parentPathKey": "Brand Safety > Display",
"cpm": 0.05,
"isLeaf": true,
"creativeTypeIdList": [
11,
14
],
"prebidAudienceSegmentRootId": 1,
"providerId": 1
}
],
"filteredRecords": 2
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
totalRecords: number;
filteredRecords: number;
prebidSegmentData: {
prebidAudienceSegmentId: number;
prebidAudienceSegmentName: string;
prebidAudienceSegmentRootId: number;
description: string;
parentPathKey: string;
cpm: number;
creativeTypeIdList: number[];
providerId: number;
providerName: string;
providerLogoUrl: string;
}[];
};
};
};
};
}
function getPrebidSegmentDetailsBySearch(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/prebid/details/search/list',
requestBody: {
content: {
"application/json": {
providerIdList?: `number[]`,
prebidAudienceSegmentIdList?: `number[]`,
prebidAudienceIdList?: `number[]`,
searchField?: `string`
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
DoubleVerify Pre-bid Audience Segment Details
GET /api/v3/audience/prebid/dv-ivt/free-segmentsGet the DoubleVerify IVT Pre-bid Audience Segments which are free and available to an Advertiser.
Response Properties
prebidAudienceSegmentId integer | Pre-bid Audience Segment ID |
providerId integer | Provider ID |
isSelectedByDefault boolean |
- JSON
- TypeScript
{
"success": true,
"data": {
[
{
"prebidAudienceSegmentId": 234,
"providerId": 2,
"isSelectedByDefault": true
},
{
"prebidAudienceSegmentId": 235,
"providerId": 2,
"isSelectedByDefault": true
},
{
"prebidAudienceSegmentId": 236,
"providerId": 2,
"isSelectedByDefault": true
},
{
"prebidAudienceSegmentId": 237,
"providerId": 2,
"isSelectedByDefault": true
},
{
"prebidAudienceSegmentId": 238,
"providerId": 2,
"isSelectedByDefault": false
},
{
"prebidAudienceSegmentId": 239,
"providerId": 2,
"isSelectedByDefault": false
}
]
}
}"
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
prebidAudienceSegmentId: number;
providerId: number;
isSelectedByDefault: boolean;
}[];
}
}
};
}
function getDvIvtFreePrebidSegments(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/prebid/dv-ivt/free-segments',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Contextual Audience Details
GET /api/v3/audience/contextual/{audienceId}Get Contextual Audience details by ID.
Path Parameter | |
---|---|
audienceId string | Audience ID |
Response Properties
id integer | Audience ID |
name string | Audience name |
status string | Audience status |
type integer | Audience Type ID |
includedCount integer | Count of Campaigns including this Audience |
excludedCount integer | Count of Campaigns excluding this Audience |
createdOn integer | Unix epoch creation date, in milliseconds |
organizationName string | Organization name |
owId integer | Organization Workspace ID |
createdByUowId integer | Created by User Organization Workspace ID |
createdByUser string | Created by user name |
uniques integer | Count of unique Audiences reached |
dataCost integer | Fees charged by the platform if the Audience is used in any Campaign |
keywords string | Keywords |
urls integer | URLs |
startDate integer | Unix epoch start date, in milliseconds |
endDate integer | Unix epoch end date, in milliseconds |
frequency integer | Frequency |
editAccess boolean | Indicates if user has edit access for the requested resource |
- JSON
- TypeScript
{
"success": true,
"data": {
"id": 1078361,
"name": "USA",
"status": "Processing",
"type": 5,
"includedCount": 0,
"excludedCount": 0,
"createdOn": 1719382932,
"organizationName": "IQM Corporation",
"owId": 202314,
"createdByUowId": 117790,
"createdByUser": "Neeraj Khatri",
"createdByUserEmail": null,
"uniques": 0,
"dataCost": 1.5,
"keywords": "law,act,actions",
"urls": "",
"startDate": 1718873084000,
"endDate": 1719229978000,
"frequency": 2,
"editAccess": true
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
name: string;
status: string;
type: number;
includedCount: number;
excludedCount: number;
createdOn: number;
organizationName: string;
owId: number;
createdByUowId: number;
createdByUser: string;
createdByUserEmail: string;
uniques: number;
dataCost: number;
keywords: string;
urls: string;
startDate: number;
endDate: number;
frequency: number;
editAccess: boolean
};
};
};
};
}
function getContextualAudience(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/contextual/{audienceId}',
params: {
path: {
audienceId: `number`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Audience Count by Status
GET /api/v3/audience/count/bystatusGet a count of Audiences by status type.
Query Parameters | |
---|---|
searchField string required | Filter results by keyword |
owIds string required | Organization Workspace IDs |
audienceTypeIds string required | Audience type IDs |
Response Properties
id integer | Audience Status Type ID |
statusKey string | Audience status key |
statusLabel string | Audience status label |
logDescription string | Log description |
statusCount integer | Audience count |
order integer | Order |
- JSON
- TypeScript
{
"success": true,
"data": [
{
"id": 2,
"statusKey": "Pending",
"statusLabel": "Pending",
"logDescription": null,
"statusCount": 39,
"order": 1
},
{
"id": 1,
"statusKey": "Processing",
"statusLabel": "Processing",
"logDescription": null,
"statusCount": 356,
"order": 2
},
{
"id": 3,
"statusKey": "Ready",
"statusLabel": "Ready",
"logDescription": null,
"statusCount": 174,
"order": 3
},
{
"id": 4,
"statusKey": "Rejected",
"statusLabel": "Rejected",
"logDescription": null,
"statusCount": 20,
"order": 5
},
{
"id": 6,
"statusKey": "Failed",
"statusLabel": "Failed",
"logDescription": null,
"statusCount": 9,
"order": 6
},
{
"id": 0,
"statusKey": "all",
"statusLabel": "All",
"logDescription": null,
"statusCount": 598,
"order": 0
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
statusKey: string;
statusLabel: string;
logDescription: string | null;
statusCount: number;
order: number;
}[];
};
};
};
}
function GetStatuswiseaudiencecount(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/count/bystatus',
params: {
query: {
searchField: `string`,
owIds: `string`,
audienceTypeIds: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Audience Count by Type
GET /api/v2/audience/typeWiseCountGet an Audience count by Audience type.
Query Parameters | |
---|---|
audienceTypeIds string | Audience type IDs |
status string | Audience status ID |
searchField string | Filter results by keyword |
Response Properties
audienceTypeId integer | Audience Type ID |
audienceTypeName string | Audience type name |
audienceCount string | Audience count |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": [
{
"audienceTypeId": 1,
"audienceTypeName": "Matched Audience",
"audienceCount": 227
},
{
"audienceTypeId": 2,
"audienceTypeName": "Segmented Audience",
"audienceCount": 135
},
{
"audienceTypeId": 3,
"audienceTypeName": "Retargeted Audience",
"audienceCount": 97
},
{
"audienceTypeId": 4,
"audienceTypeName": "Geofarmed Audience",
"audienceCount": 186
},
{
"audienceTypeId": 5,
"audienceTypeName": "Contextual Audience",
"audienceCount": 140
},
{
"audienceTypeId": 6,
"audienceTypeName": "Lookalike Audience",
"audienceCount": 111
},
{
"audienceTypeId": 7,
"audienceTypeName": "Campaign Audience",
"audienceCount": 26
},
{
"audienceTypeId": 8,
"audienceTypeName": "Pre-Bid Audience",
"audienceCount": 23
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
responseObject: {
audienceTypeId: number;
audienceTypeName: string;
audienceCount: number;
}[];
};
};
};
}
function getAudienceTypeWiseCount(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/audience/typeWiseCount',
params: {
query?: {
audienceTypeIds?: `string`,
status?: `string`,
searchField?: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Audience Details List
GET /api/v2/audience/listGet list of Audiences with basic information by desired filters.
Query Parameters | |
---|---|
owIds string | Organization Workspace IDs |
audienceTypeIds string | Audience type IDs |
searchField string | Filter results by keyword |
Response Properties
id integer | Audience ID |
audienceName string | Audience name |
audienceType string | Audience type |
audienceTypeId integer | Audience Type ID |
isVoterAudience boolean | Indicates whether the Audience is made up of voters (true) or not (false) |
status string | Audience status |
statusDisplayName string | Status display name |
createdOn integer | Unix epoch creation date, in milliseconds |
dataCost integer | Fees charged by the platform if the Audience is used in any Campaign |
uniques integer | Count of unique Audiences reached |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": [
{
"id": 1,
"audienceName": "Sample audinece name 1",
"audienceType": "Matched Audience",
"audienceTypeId": 1,
"isVoterAudience": true,
"status": "approved",
"statusDisplayName": "Ready",
"createdOn": 1653510068,
"dataCost": 1.5,
"uniques": 18850783
},
{
"id": 2,
"audienceName": "Sample audinece name 2",
"audienceType": "Contextual Audience",
"audienceTypeId": 5,
"isVoterAudience": false,
"status": "processing",
"statusDisplayName": "Processing",
"createdOn": 1653510068,
"dataCost": 1.3,
"uniques": 10000
},
{
"id": 3,
"audienceName": "Sample audinece name 3",
"audienceType": "Retargeted Audience",
"audienceTypeId": 3,
"isVoterAudience": false,
"status": "approved",
"statusDisplayName": "Ready",
"createdOn": 1653510068,
"dataCost": 1.6,
"uniques": 0
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
responseObject: {
id: number;
audienceName: string;
audienceType: number;
isVoterAudience: boolean;
status: string;
statusDisplayName: string;
createdOn: number;
dataCost: number;
uniques: number;
}[];
};
};
};
}
function getAudienceDetails(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/audience/list',
params: {
query?: {
owIds?: `string`,
audienceTypeIds?: `string`,
searchField?: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Paginated Audience Details List
GET /api/v2/audience/detailed/listGet Audience and Insight details for eligible Matched Audiences.
Query Parameters
audienceTypeIds string | Audience type IDs |
searchField string | Filter results by keyword |
pageSize integer | Number of results reutnred per page |
pageNo integer | Page number for data, default: 1 |
sortBy string | Sorts by ascending (+) or descending (-), default: modified_date |
audienceIds integer | Audience IDs |
owIds integer | Organization Workspace IDs |
status string | Audience status ID |
noOfEntries integer | Number of results returned, default: 10 |
sortType string | Default: desc |
Response Properties
id integer | Audience ID |
audienceName string | Audience name |
audienceType string | Audience type |
audienceTypeId integer | Audience Type ID |
matchRate integer | The percentage of matched records compared to a reference set |
fileTotalCount integer | Total number of records in the uploaded Audience file |
included integer | Count of Campaigns including this Audience |
excluded integer | Count of Campaigns excluding this Audience |
includedCampaignList array of integers | List of Campaign IDs including this Audience |
excludedCampaignList array of integers | List of Campaign IDs excluding this Audience |
status string | Status |
createdOn integer | Unix epoch creation date, in milliseconds |
tagTime integer | Time when Audience was tagged, representing when the data was last updated or processed (Retargeted Audience) |
tagUniqueCount integer | Count of unique tags associated with Audience or Insights, referring to either unique identifiers or categories (Retargeted Audience) |
dataCost integer | Fees charged by the platform if the Audience is used in any Campaign |
s3FileName string | S3 file name |
organizationName string | Organization name |
uniques integer | Count of unique Audiences reached |
runningCampaignCount integer | Count of Campaigns with status "ready" |
pendingCampaignCount integer | Count of Campaigns with status "pending" |
pausedCampaignCount integer | Count of Campaigns with status "paused" |
expiredCampaignCount integer | Count of Campaigns with status "expired" |
timezone integer | Timezone ID |
partnerName string | Partner name |
partnerLogoUrl string | Partner logo URL |
isApprovalAcces boolean | Indicates if user has access to approve |
isEditAccess boolean | Indicates if user has edit access for the requested resource |
insightDetails array of objects | Array of audienceIds and their statusId and Insight id |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": {
"totalRecords": 223,
"data": [
{
"id": 1003879,
"audienceName": "Insights 5",
"audienceType": "Matched Audience",
"audienceTypeId": 1,
"matchRate": 0.02,
"fileTotalCount": 1000000,
"included": 0,
"excluded": 0,
"includedCampaignList": [],
"excludedCampaignList": [],
"status": "Ready",
"createdOn": 1690264074,
"tagTime": 0,
"tagUniqueCount": 0,
"isAudienceNewPlatform": 1,
"dataCost": 1,
"s3FileName": "1690198084570_1689926593350_1689755440643_matched_audience_file_NY_1M.csv",
"organizationName": "Stage Shared Advertiser1",
"uniques": 200,
"runningCampaignCount": 0,
"pendingCampaignCount": 0,
"pausedCampaignCount": 0,
"expiredCampaignCount": 0,
"timezone": 0,
"partnerName": "Healthlink",
"partnerLogoUrl": "www.sample.com",
"isApprovalAccess": false,
"isEditAccess": false
}
],
"filteredRecords": 223,
"insightDetails": {
"1003877": {
"statusId": 2,
"id": 784
}
}
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
responseObject: {
totalRecords: number;
data: {
id: number;
audienceName: string;
audienceType: number;
matchRate: number;
fileTotalCount: number;
included: number;
excluded: number;
includedCampaignList: number[];
excludedCampaignList: number[];
status: string;
createdOn: number;
tagTime: number;
tagUniqueCount: number;
isAudienceNewPlatform: number;
dataCost: number;
s3FileName: string;
organizationName: string;
uniques: number;
runningCampaignCount: number;
pendingCampaignCount: number;
pausedCampaignCount: number;
expiredCampaignCount: number;
timezone: number;
partnerName: string;
partnerLogoUrl: string;
isApprovalAccess: boolean;
isEditAccess: boolean;
}[];
filteredRecords: number;
insightDetails: {
[number: number]: {
statusId: number;
id: number;
}
}
}
};
};
};
}
function getAudienceDetailedList_1(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/audience/detailed/list',
params: {
query?: {
audienceTypeIds?: `string`,
searchField?: `string`,
pageSize?: `string`,
pageNo?: `number`,
sortBy?: `string`,
audienceIds?: `string`,
owIds?: `string`,
status?: `string`,
noOfEntries?: `number`,
sortType?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Audience Segment Details
Audience Segment Details
GET /api/v3/audience/segment/{audienceId}Get Audience Segment details by ID.
Path Parameter | |
---|---|
audienceId string | Audience ID |
Response Properties
id integer | Audience ID | |||||||||||||||||||||||
name string | Audience name | |||||||||||||||||||||||
status string | Audience status | |||||||||||||||||||||||
type integer | Audience Type ID | |||||||||||||||||||||||
includedCount integer | Count of Campaigns including this Audience | |||||||||||||||||||||||
excludedCount integer | Count of Campaigns excluding this Audience | |||||||||||||||||||||||
createdOn integer | Unix epoch creation date, in milliseconds | |||||||||||||||||||||||
organizationName string | Organization name | |||||||||||||||||||||||
owId integer | Organization Workspace ID | |||||||||||||||||||||||
createdByUowId integer | Created by User Organization Workspace ID | |||||||||||||||||||||||
createdByUser string | Created by user name | |||||||||||||||||||||||
uniques integer | Count of unique Audiences reached | |||||||||||||||||||||||
dataCost integer | Fees charged by the platform if the Audience is used in any Campaignt | |||||||||||||||||||||||
segmentsList array of objects | Array of Audience Segments | |||||||||||||||||||||||
|
segmentId integer | Audience Segment ID |
taxonomyId string | Taxonomy category ID |
taxonomyValue string | Value assocaited with taxonomy category |
description string | Description |
pathKey string | A hierarchichal key representing the taxonomy's path or structure |
cpm integer | Cost per mille |
lastUpdatedDate string | Date last updated |
totalReach integer | Total number of reach in terms of devices |
reachMetadata string | Reach metadata, such as breakdown by device, IP, coookies, etc. |
dataAvailable boolean | Indicates whether relevant data is available for this taxonomy |
leafNode boolean | Indicates whether this taxonomy is a final node (i.e. it has no subcategories) |
segmentPartnerName
string
segmentPartnerId
integer
segmentPartnerLogo
string
equation
string
segmentIdList
array of integers
editAccess
boolean
- JSON
- TypeScript
{
"success": true,
"data": {
"id": 1076846,
"name": "Test kishan 19,04:50",
"status": "Processing",
"type": 2,
"includedCount": 0,
"excludedCount": 0,
"createdOn": 1718796428,
"organizationName": "Stage Shared Advertiser",
"owId": 201427,
"createdByUowId": 153431,
"createdByUser": "Kishan Akbari",
"createdByUserEmail": null,
"uniques": 0,
"dataCost": 1.5,
"segmentsList": [
{
"segmentId": 14005,
"taxonomyId": "1000143856",
"taxonomyValue": "Western Samoa",
"description": null,
"pathKey": "LiveRamp > L2 Political > L2 Voter Data > Individual Demographics > Ethnicity > Ethnic Description > Western Samoa",
"cpm": 1.5,
"lastUpdatedDate": "2021-06-08 08:45:50.979634",
"totalReach": 0,
"reachMetadata": null,
"dataAvailable": false,
"leafNode": true
},
{
"segmentId": 5586112,
"taxonomyId": "1007595031",
"taxonomyValue": "South Dakota-13",
"description": "30 day full data refresh: Individuals living in the South Dakota-13 state senate district. For political use only.",
"pathKey": "LiveRamp > 123Push > Optimized for CTV > Voters > State Senate District > South Dakota-13",
"cpm": 0.75,
"lastUpdatedDate": "2021-06-08 08:45:50.979634",
"totalReach": 14800,
"reachMetadata": null,
"dataAvailable": false,
"leafNode": true
},
{
"segmentId": 6450431,
"taxonomyId": "1000037244",
"taxonomyValue": "Voted In the 2004 Primary Election",
"description": "This Segment contains users who voted in the General Election of this election year",
"pathKey": "LiveRamp > Porch Group Media (fka V12) > V12 > NEW VOTER & INCOME > Voted In the 2004 Primary Election",
"cpm": 0.5,
"lastUpdatedDate": "2024-05-07 09:52:51.191186",
"totalReach": 5100000,
"reachMetadata": {
"iosDevicesReach": 2200000,
"androidDevicesReach": 2900000,
"cookiesReach": 0
},
"dataAvailable": false,
"leafNode": true
}
],
"segmentPartnerName": "LiveRamp",
"segmentPartnerId": 1,
"segmentPartnerLogo": "https://s3.amazonaws.com/advp0had0vuj7rad3niaw1eus2/data_partner/liveramp.png",
"equation": "((5586112|6450431)&(14005))",
"segmentIdList": [
14005,
5586112,
6450431
],
"editAccess": true
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
name: string;
status: string;
type: number;
includedCount: number;
excludedCount: number;
createdOn: number;
organizationName: string;
owId: number;
createdByUowId: number;
createdByUserEmail: string;
uniques: number;
dataCost: number;
segmentsList: {
segmentId: number;
taxonomyId: number;
taxonomyValue: number;
description: string;
pathKey: string;
cpm: number;
lastUpdatedDate: string;
totalReach: number;
reachMetadata: string;
dataAvailable: boolean;
leafNode: boolean;
}[];
segmentPartnerName: string;
segmentPartnerId: number;
segmentPartnerLogo: string;
equation: string;
segmentIdList: number[];
editAccess: boolean;
}
};
};
};
}
function getSegmentAudienceGroup(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/segment/{audienceId}',
params: {
path: {
audienceId: `number`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Search Audience Segment
POST /api/v2/audience/segment/searchSearch Audience Segments by specified parameters.
Request Schema | |
---|---|
providerIds string | Comma separated Provider IDs |
referenceId string | Comma separated Reference IDs |
searchField string | Filters results by keyword |
Response Properties
description string | Description |
cpm integer | Cost per mille |
isLeaf boolean | Indicates that an Audience Segment is a leaf node in a hierarchical Audience structure: true |
margin integer | Margin |
pathKey string | A hierarchichal key representing the taxonomy's path or structure |
id string | Audience Segment ID |
taxonomy_value string | Taxonomy value |
- JSON
- TypeScript
{
"providerIds": "a6ff7585-dbb4-43cd-8022-8046883bbad5,7735f885-717e-4bd6-b924-f9552ff987ba,267fdd70-8655-4ad2-ad2b-538be580b139,4a163538-1dcb-4c42-909a-256c542e8820,ff6ae965-bd75-4809-b3c3-ed5c568a39b3,efe627d6-25fe-47c1-9dc6-1005c5e8afe5",
"referenceId": "ea5f5d49-cbd2-49df-bda1-f3d8f2d14223,6449205f-3be6-419b-924f-817f68b42ca9,63b762fc-a5f4-47ac-ba08-1991fbb29bcb",
"searchField": "rocks"
}
{
"statusCode": 200,
"responseObject": {
"0d5fcaea-0fe3-4b10-ba62-168f3dcb0281": [
{
"description": "Sample discription",
"cpm": 1.15,
"isLeaf": 1,
"margin": 0,
"pathKey": "StatSocial > StatSocial > Statsocial > Digital Tribes > Gamers Not Lamers",
"id": "68da1011-aa51-48f3-9d55-45c9e63b9f99",
"taxonomy_value": "Gamers Not Lamers"
},
{
"description": "Sample discription.",
"cpm": 1.15,
"isLeaf": 1,
"margin": 0,
"pathKey": "StatSocial > StatSocial > Statsocial > Earned Audiences > B2C > Style & Fashion > Makeup and Skincare",
"id": "d1e94b51-be6a-4ed7-9ad0-8b0b87bc3500",
"taxonomy_value": "Makeup and Skincare"
},
{
"description": "Sample discription",
"cpm": 1.15,
"isLeaf": 1,
"margin": 0,
"pathKey": "StatSocial > StatSocial > Statsocial > Earned Audiences > B2C > Video Games & Mobile Apps > Grand Theft Auto",
"id": "a3ce828a-d33e-4391-a588-42c8b1332adf",
"taxonomy_value": "Grand Theft Auto"
},
{
"description": "Sample discription",
"cpm": 1.15,
"isLeaf": 1,
"margin": 0,
"pathKey": "StatSocial > StatSocial > Statsocial > Earned Audiences > B2C > Video Games & Mobile Apps > Red Dead Redemption",
"id": "20574ff2-264f-42cc-940b-9356b35637d7",
"taxonomy_value": "Red Dead Redemption"
},
{
"description": "Sample discription",
"cpm": 1.15,
"isLeaf": 1,
"margin": 0,
"pathKey": "StatSocial > StatSocial > Statsocial > Earned Audiences > CPG > Candy (Non-Chocolate)",
"id": "6dc06bea-938a-4725-b177-da9a861540ea",
"taxonomy_value": "Candy (Non-Chocolate)"
}
]
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json;charset=UTF-8": {
statusCode: number;
responseObject: {
"0d5fcaea-0fe3-4b10-ba62-168f3dcb0281": {
description: string;
cpm: number;
isLeaf: number;
margin: number;
pathKey: string;
id: string;
taxonomy_value: string;
}[];
};
};
};
};
}
function GetSegmentSearchResult(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v2/audience/segment/search',
requestBody: {
content: {
"application/json": {
providerIds: `string`,
referenceId: `string`,
searchField: `string`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Segment Partner Provider List
GET /api/v3/audience/segment/partner-provider/listGet a list of partners and providers with basic Audience information.
Response Properties
partnerProviderList array of objects | Array of partner and provider details | ||||||||||||||||||||||||||||||||||||||
|
partnerId integer | Partner ID | |||||||||||||
partnerReferenceUuid string | Partner reference Universally Unique Identifier | |||||||||||||
partnerName string | Partner name | |||||||||||||
partnerLogoUrl string | Partner logo URL | |||||||||||||
partnerDescription string | Partner description | |||||||||||||
order integer | Order | |||||||||||||
verticalIdList array of integers | List of Vertical IDs | |||||||||||||
seatId integer | Seat ID | |||||||||||||
customerPartner boolean | Customer associated partner | |||||||||||||
providerList array of objects | Array of Provider details | |||||||||||||
|
providerId integer | Provider ID |
providerReferenceUuid integer | Provider reference Universally Unique Identifier |
providerName integer | Provider name |
providerLogoUrl integer | Provider logo URL |
verticalIdList array of integers | List of Vertical IDs |
providerDescription integer | Provider description |
isPartnerPublic
boolean
- JSON
- TypeScript
{
"success": true,
"data": {
"partnerProviderList": [
{
"partnerId": 1,
"partnerReferenceUuid": "60fe05cf-ec18-120d-b408-01a8118ee02d",
"partnerName": "Sample Partner 1",
"partnerLogoUrl": "https://s3.amazonaws.com/sample/path/sample-partner-logo.png",
"partnerDescription": "This is sample partners description 1",
"order": 1,
"verticalIdList": [
1
],
"seatId": 112,
"customPartner": false,
"providerList": [
{
"providerId": 75,
"providerReferenceUuid": "483feaff-f984-4077-9dd7-a8d5fa95f346",
"providerName": "Sample Provider 1",
"providerLogoUrl": "https://s3.amazonaws.com/sample/path/sample-logo.png",
"verticalIdList": [
1
],
"providerDescription": "This is a sample provider's description"
}
],
"isPartnerPublic": false
},
{
"partnerId": 2,
"partnerReferenceUuid": "60fe05cf-ec18-120d-b408-01a8118ee02d",
"partnerName": "Sample Partner 1",
"partnerLogoUrl": "https://s3.amazonaws.com/sample/path/sample-partner-logo.png",
"partnerDescription": "This is sample partners description 1",
"order": 2,
"providerList": [],
"verticalIdList": [
1
],
"seatId": 112,
"customPartner": false,
"isPartnerPublic": false
},
{
"partnerId": 3,
"partnerReferenceUuid": "6449205f-5be6-419b-923f-817f68b42ca9",
"partnerName": "Sample Partner 3",
"partnerLogoUrl": "https://s3.amazonaws.com/sample/path/sample-partner-logo.svg",
"partnerDescription": "This is sample partners description 3",
"order": 3,
"verticalIdList": [
1
],
"seatId": 112,
"customPartner": false,
"providerList": [
{
"providerId": 65,
"providerReferenceUuid": "d353b25a-ed48-4158-8522-85b9e507eb47",
"providerName": "Sample provider 1",
"providerLogoUrl": null,
"verticalIdList": [
1
],
"providerDescription": "This is a sample provider's description"
},
{
"providerId": 136,
"providerReferenceUuid": "47bb6286-aa47-4664-90a0-bf2c2492319a",
"providerName": "Sample provider 2",
"providerLogoUrl": null,
"verticalIdList": [
1
],
"providerDescription": null
}
],
"isPartnerPublic": true
}
],
"totalRecords": 3,
"filteredRecords": 3
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
partnerProviderList: {
partnerId: number;
partnerReferenceUuid: string;
partnerName: string;
partnerLogoUrl: string;
partnerDescription: string;
order: number;
verticalIdList: number[];
seatId: number;
customPartner: boolean;
providerList: {
providerId: number;
providerReferenceUuid: string;
providerName: string;
providerLogoUrl: string;
verticalIdList: number[];
providerDescription: string;
}[];
isPartnerPublic: boolean;
}[];
totalRecords: number;
filteredRecords: number;
}
};
};
};
}
function getSegmentPartnerProviderList(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/segment/partner-provider/list',
requestBody: {
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Segment List by Provider/Partner IDs
GET /api/v3/audience/segment/list-by-parent-idGet a list of Segments by given provider or parent ID. If parent ID is not provided, endpoint will return all direct segments of a given provider ID.
Query Parameters | |
---|---|
partnerId integer required | Partner ID |
providerId integer required | Provider ID |
parentId integer | Parent ID, if not provided returned results will include all direct segments of provided ID |
showOnlyNonZeroSegments boolean | Returns segments with reach greater than 0: true, default: false |
showOnlyReadySegments boolean | Returns segments with "ready" status: true |
Response Properties
segmentId integer | Segment ID | |||||||
taxonomyId string | Taxonomy ID | |||||||
taxonomyValue string | Taxonomy value | |||||||
description string | Description | |||||||
pathKey string | A hierarchichal key representing the taxonomy's path or structure | |||||||
cpm integer | Cost per mille | |||||||
referenceId string | Reference ID | |||||||
lastUpdatedDate string | Date last updated | |||||||
totalReach integer | Total number of reach in terms of devices | |||||||
reachMetadata string | Reach metadata, such as breakdown by device, IP, coookies, etc. | |||||||
|
iosDevicesReach integer | IOS devices reach |
androidDevicesReach integer | Android devices reach |
cookiesReach integer | Cookies reach |
dataAvailable
boolean
leafNode
boolean
- JSON
- TypeScript
{
"success": true,
"data": [
{
"segmentId": 6192803,
"taxonomyId": "iqm-6192803",
"taxonomyValue": "Giving And Investment",
"description": null,
"pathKey": "LiveRamp > i360 > i360 > Demographics > Giving And Investment",
"cpm": 0.0,
"referenceId": "fc649c8b-6106-41cc-9b28-c287b46414b2",
"lastUpdatedDate": "2022-08-26 12:14:54.264993",
"totalReach": 0,
"reachMetadata": null,
"dataAvailable":true,
"reachMetadata":{
"iosDevicesReach":120,
"androidDevicesReach":120,
"cookiesReach":120
},
"leafNode": false
},
{
"segmentId": 6192796,
"taxonomyId": "i360-000001",
"taxonomyValue": "Ages 18 To 29",
"description": "Individuals Ages 18 And 29.",
"pathKey": "LiveRamp > i360 > i360 > Demographics > Ages 18 To 29",
"cpm": 1.0,
"referenceId": "72aac958-335d-4651-88ca-b88babc5404a",
"lastUpdatedDate": "2022-08-26 12:14:54.264993",
"totalReach": 18907067,
"reachMetadata": null,
"leafNode": true
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
segmentId: number;
taxonomyId: string;
taxonomyValue: string;
description: string;
pathKey: string;
cpm: number;
referenceId: string;
lastUpdateDate: string;
totalReach: number;
dataAvailable: boolean;
reachMetadata: {
iosDevicesReach: number;
androidDevicesReach: number;
cookiesReach: number;
};
leafNode: boolean;
}[];
};
};
};
}
function getSegmentsListByParent(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/segment/list-by-parent-id',
params: {
query: {
partnerId: `number`,
providerId: `number`,
parentId?: `number`,
showOnlyNonZeroSegments?: `boolean`,
showOnlyReadySegments?: `boolean`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Segment List by Audience IDs
GET /api/v3/audience/segment/list-by-audience-idsGet a list of Segments based on Audience IDs.
Query Parameters | |
---|---|
audienceIds string required | Audience IDs |
segmentListSize integer | Segment list size, default: 5 |
Response Properties
audienceId integer | Audience ID | |||||
totalSegments integer | Segment count | |||||
segmentDetailsResponseVOList object array | List of Audience Segments | |||||
|
segmentId integer | Segment ID |
segmentName string | Segment name |
- JSON
- TypeScript
{
"success": true,
"data": [
{
"audienceId": 900057,
"totalSegments": 6,
"segmentDetailsResponseVOList": [
{
"segmentId": 38029,
"segmentName": "Extra-Large (5000+)"
},
{
"segmentId": 38030,
"segmentName": "Fortune 500"
},
{
"segmentId": 38031,
"segmentName": "Large (1000-4999)"
},
{
"segmentId": 38032,
"segmentName": "Medium (50-249)"
},
{
"segmentId": 38033,
"segmentName": "Medium-Large (250-999)"
}
]
},
{
"audienceId": 900043,
"totalSegments": 3,
"segmentDetailsResponseVOList": [
{
"segmentId": 76370,
"segmentName": "Strong Democrat"
},
{
"segmentId": 76372,
"segmentName": "Strong Republican"
},
{
"segmentId": 76397,
"segmentName": "No"
}
]
},
{
"audienceId": 1066727,
"totalSegments": 0,
"segmentDetailsResponseVOList": []
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
audienceId: number;
totalSegments: number;
segmentDetailsResponseVOList: {
segmentId: number;
segmentName: string;
}[];
}[];
};
};
};
}
function getSegmentListByAudience(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/segment/list-by-audience-ids',
params: {
query: {
audienceIds: `string`,
segmentListSize?: `number`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Audience Segment Insights
GET /api/v3/audience/segment/audience-insights/{audienceId}Get available Audience Insights like age, location, gender, etc.
Path Parameter | |
---|---|
audienceId integer | Audience ID |
Response Properties
audienceId string | Audience ID | ||||||||||||||||||||||
audienceName string | Audience name | ||||||||||||||||||||||
audienceDate string | Audience date | ||||||||||||||||||||||
verticalId string | Vertical ID | ||||||||||||||||||||||
vertical string | Vertical label | ||||||||||||||||||||||
widgets object | Widgets list | ||||||||||||||||||||||
|
title string | Title | |||||||||||||
type string | Type | |||||||||||||
data object | Data details | |||||||||||||
|
srNo integer | |
deviceType string | Device type |
audienceValue(Absolute) string | |
audienceValue(%) integer | |
nationalAvg(%) integer | |
delta integer |
- JSON
- TypeScript
{
"success": true,
"data": {
"audienceId": "1064660",
"audienceName": "Test Case - Is Voter, Is HL",
"audienceDate": "2024-04-29",
"verticalId": "8",
"vertical": "other",
"widgets": [
{
"title": "deviceType",
"type": "pie",
"data": [
{
"srNo": 1,
"deviceType": "Tablet",
"audienceValue(Absolute)": "10,161,882",
"audienceValue(%)": 6.09,
"nationalAvg(%)": -1,
"delta": -1
},
{
"srNo": 2,
"deviceType": "Mobile",
"audienceValue(Absolute)": "77,590,386",
"audienceValue(%)": 46.54,
"nationalAvg(%)": -1,
"delta": -1
}
]
},
{
"title": "gender",
"type": "pie",
"data": [
{
"srNo": 1,
"gender": "Male",
"audienceValue(Absolute)": "1,253",
"audienceValue(%)": 44.35,
"nationalAvg(%)": -1,
"delta": -1
},
{
"srNo": 2,
"gender": "Female",
"audienceValue(Absolute)": "1,572",
"audienceValue(%)": 55.65,
"nationalAvg(%)": -1,
"delta": -1
}
]
}
]
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
audienceId: number;
audienceName: string;
audienceDate: string;
verticalId: string;
vertical: string;
widgets: {
title: string;
type: string;
data: {
srNo: number;
deviceType: string;
audienceValue(Absolute): string;
audienceValue(%): number;
nationalAvg(%): number;
delta: number;
}[];
}[];
}
};
};
};
}
function getSegmentAudienceInsights(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/segment/audience-insights/{audienceId}',
params: {
path: {
audienceId: `number`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Audience Management
Create Matched Audience
POST /api/v2/audience/matched/addCreate a Matched Audience.
Payload (Form Data) | |
---|---|
| Matched Audience file columns mapped with system fields.
This supports a few columns mapping as follows:
|
| Matched Audience columns setting as per the selected columns for matching. Column setting should be as per the selected column as follows:
|
audienceName string (FormData) required | Name of matched audience |
metadata string (FormData) required | Matched Audience sample data with system fields |
fileTotalCount integer (FormData) required | Total number of records in the uploaded Audience file |
isSingleColumnEnabled boolean (FormData) required | Flag to indicate if the mapping is single column enabled, if the voterId/phone/email/full-address is the primary column mapping then this should be true, and false otherwise. Default value: false |
Response Properties
id integer | Audience ID |
message string | Success message |
- JSON
- TypeScript
------WebKitFormBoundary2LAoPYE0pJvRQ6mQ
Content-Disposition: form-data; name="file"; filename="matched-audience-example.csv"
Content-Type: text/csv
------WebKitFormBoundary2LAoPYE0pJvRQ6mQ
Content-Disposition: form-data; name="columns"
{"first-name":"Voters_FirstName","last-name":"Voters_LastName","zip":"Residence_Addresses_Zip","state":"Residence_Addresses_State","street-address":"Residence_Addresses_AddressLine"}
------WebKitFormBoundary2LAoPYE0pJvRQ6mQ
Content-Disposition: form-data; name="metadata"
{"columns":["registered-voter-id","l2-voter-id","targetsmart-voter-id","first-name","last-name","street-address","city","zip","zipplus4","state","full-address","phone","email","phone-sha256","email-sha256","npi-id"],"fileName":"matched-audience-example.csv","fileSize":1777,"columnValues":{"registered-voter-id":["23457","456789","34567"],"l2-voter-id":["LALNY987654","LALNY76543","LALNY54321"],"targetsmart-voter-id":["NY-000020745","NY-000032452","NY-000069778"],"first-name":["Bilbo","Frodo","Samwise"],"last-name":["Baggins","Baggins","Gamgee"],"street-address":["11 The Shire Middle Earth","22 The Shire Middle Earth","33 The Shire Middle Earth"],"city":["New York","New York","New York"],"zip":["10001","10010","10011"],"zipplus4":["1122","2233","3344"],"state":["NY","New York","NY"],"full-address":["11 The Shire Middle Earth, New York, 10001, NY","22 The Shire Middle Earth, New York, 10010, NY","33 The Shire Middle Earth, New York, 10011, NY"],"phone":["3456789012","5678901234","7890123456"],"email":["Bilbo.Baggins@lotr.com","Frodo.Baggins@lotr.com","Samwise.Gamgee@lotr.com"],"phone-sha256":["26cc49f1a2133f3784b937017f9cc86e05b5413c7f91b0b6bd6375631b68371e","2f510ce904687db4b2706fdaf33f1d0e678be13cc5fe300cf695a546befa5fc8","453fc17260d034186d92d1e58cc557fea9cafc1bf886154b472057feed950605"],"email-sha256":["43f5f8fabe82fc8dce2452267f5550bb036d0ddf33368682a9cd5da8286d63a0","ceb005d969f16f9a6a487849d27bf854fac1f0733aa61995bcbb5cb928dfc410","986c1ae0d3cef60591d3b29aa54afb5d9654406d7cfa4fcbb65c3ad45ad1ce5c"],"npi-id":["1144317652","1467478172","1275506503"]},"rows":5}
------WebKitFormBoundary2LAoPYE0pJvRQ6mQ
Content-Disposition: form-data; name="audienceName"
Matched Audience Sample
------WebKitFormBoundary2LAoPYE0pJvRQ6mQ
Content-Disposition: form-data; name="isSingleColumnEnabled"
false
------WebKitFormBoundary2LAoPYE0pJvRQ6mQ
Content-Disposition: form-data; name="fileTotalCount"
5
------WebKitFormBoundary2LAoPYE0pJvRQ6mQ--
{
"statusCode": 200,
"responseObject": {
"id": 15332,
"message": "Audience created successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
statusCode: number;
responseObject: {
id: number;
message: string;
};
};
};
};
}
function addMatchedAudience(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v2/audience/matched/add',
params: {
query: {
columns: `string`,
columnSettings?: `string`,
audienceName: `string`,
metadata: `string`,
fileTotalCount: `number`,
isSingleColumnEnabled: `boolean`,
},
},
requestBody: {
content: {
"multipart/form-data": {
file: `string`,
},
},
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Update Matched Audience
PATCH /api/v2/audience/matched/update/{matched_audience_id}Update a Matched Audience.
Path Parameter | |
---|---|
matched_audience_id integer | Matched Audience ID |
Request Schema | |
---|---|
audienceName string | Audience Name |
rawS3URL string | Raw S3 URL |
Response Properties
id integer | Audience ID |
message string | Success message |
- JSON
- TypeScript
{
"audienceName": "Sample audience name",
"rawS3URL": "s3://sample.url.come"
}
{
"statusCode": 200,
"responseObject": {
"id": 1,
"message": "Your changes have been saved successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json;charset=UTF-8": {
statusCode: number;
responseObject: {
id: number;
message: string;
};
};
};
};
}
function EditMatchedAudience(): Promise<Responses> {
const options = {
method: 'PATCH',
url: 'https://app.iqm.com/api/v2/audience/matched/update/{matched_audience_Id}',
params: {
path: {
matched_audience_Id: `string`
}
},
requestBody: {
content: {
"application/json": {
audienceName: `string`,
rawS3URL: `string`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Create Retargeted Audience
POST /api/v3/audience/retarget/tagCreate a Retargeted Audience.
Request Schema | |
---|---|
tag_name string | Audience name |
tag_duration string | Duration can be either month or date_range |
tag_time integer | Number of months, required if tag_duration is set to month |
start_date integer | Start date, requird if tag_duration is set to date_range |
end_date integer | End date, requird if tag_duration is set to date_range |
Response Properties
id integer | Audience ID |
tag_script string | Tag script |
message string | Success message |
- JSON
- TypeScript
{
"tag_duration": "date_range",
"tag_name": "Sample audience name",
"start_date": 1643810939810,
"end_date": 1645381800000
}
{
"success": true,
"data": {
"id": 1,
"tag_script": "<script src='https://sample.url.com/c/1a04d3b3-3d78-49b2-bb0f-829b5bd082ab' async></script>",
"message": "Audience created successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
tag_script: string;
message: string;
};
}
};
};
}
function CreateRetargetedAudience(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/retarget/tag',
requestBody: {
content: {
"application/json": {
tag_duration: `string`,
tag_name: `string`,
start_date: `number`,
end_date: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Update Retargeted Audience
PUT /api/v3/audience/retarget/{retargeted_audience_id}Update a Retargeted Audience.
Path Parameter | |
---|---|
retargeted_audience_id string | Retargeted Audience ID |
Request Schema | |
---|---|
tag_duration string | |
tag_name string | |
tag_time integer |
Response Properties
tag_script string | Tag script |
message string | Success message |
- JSON
- TypeScript
{
"tag_duration": "month",
"tag_name": "Sample audience name",
"tag_time": 5
}
{
"success": true,
"data": {
"tag_script": "<script src='https://sample.url.com/c/02e378aa-275b-40aa-9a2c-a41ce2e02c88' async></script>",
"message": "Your changes have been saved successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
tag_script: string;
message: string;
};
}
};
};
}
function EditRetargetAudience(): Promise<Responses> {
const options = {
method: 'PUT',
url: 'https://app.iqm.com/api/v3/audience/retarget/{retargeted_audience_id}',
param: {
path: {
retargeted_audience_id: `string`
}
},
requestBody: {
content: {
"application/json": {
tag_duration: `string`,
tag_name: `string`,
tag_time: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Retargeted Audience Email Notification
POST /api/v2/audience/email/notifySend email notification on Retargeted Audience creation.
Request Schema | |
---|---|
pixelCode string | Pixel code |
recipients string | Recipient email |
Response Properties
message string | Success message |
- JSON
- TypeScript
{
"pixelCode": "<script src='https://scripturl.com' async></script>",
"recipients": "user@email.com"
}
{
"statusCode": 200,
"responseObject": {
"message": "e-mail sent successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json;charset=UTF-8": {
statusCode: number;
responseObject: {
message: string;
};
};
};
};
}
function RetargetAudienceemailnotify(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v2/audience/email/notify',
requestBody: {
content: {
"application/json": {
pixelCode: `string`,
recipients: `string`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Create Geo-Farmed Audience
POST /api/v3/audience/geo-farmed/addCreate a Geo-Farmed Audience.
Request Schema | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
audienceName string | Audience name | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
frequency string | The frequency of visit to the geographical location, based on frequencyType | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
frequencyType string | Frequency Type ID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
startDate integer | Unix epoch start date, in milliseconds | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
endDate integer | Unix epoch end date, in milliseconds | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
timeRange object | Name-Value pairs of day of the week (e.g. Monday: 1, Tuesday: 2, etc.) and an object containing a time range (see example below this table) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
removedLocationsIds array of integers | Removed location IDs, as specified in the uploaded location file | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
locations object | Locations object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
country integer | Country ID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
included object | Included locations object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
locationIds array of integers | Location IDs | ||||||||||||||||||||||||||||||||||||
states array of integers | State IDs | ||||||||||||||||||||||||||||||||||||
counties array of integers | County IDs | ||||||||||||||||||||||||||||||||||||
cities array of integers | City IDs | ||||||||||||||||||||||||||||||||||||
stateSenates array of integers | State senate IDs | ||||||||||||||||||||||||||||||||||||
stateHouses array of integers | State house IDs | ||||||||||||||||||||||||||||||||||||
congressionalDistrictIds array of integers | Congressional District IDs | ||||||||||||||||||||||||||||||||||||
zipCodes array of integers | Zip code IDs | ||||||||||||||||||||||||||||||||||||
customAreas object | Custom areas | ||||||||||||||||||||||||||||||||||||
|
latitude integer | Latitude | |||||
longitude integer | Longitude | |||||
radius integer | Radius (miles) | |||||
address string | Addresses to add to custom area | |||||
locationId integer | Location ID | |||||
polypath object | A set of coordinates defining the boundary of the custom area | |||||
|
lat integer | Latitude |
lng integer | Longitude |
isIncluded
boolean
cid
string
sid
string
type
string
unit
string
cdId
integer
sdId
integer
hdId
integer
excluded
object
excluded
object properties
locationIds array of integers | Location IDs | ||||||||||||||||||||||||||||||||||||
states array of integers | State IDs | ||||||||||||||||||||||||||||||||||||
counties array of integers | County IDs | ||||||||||||||||||||||||||||||||||||
cities array of integers | City IDs | ||||||||||||||||||||||||||||||||||||
stateSenates array of integers | State senate IDs | ||||||||||||||||||||||||||||||||||||
stateHouses array of integers | State house IDs | ||||||||||||||||||||||||||||||||||||
congressionalDistrictIds array of integers | Congressional District IDs | ||||||||||||||||||||||||||||||||||||
zipCodes array of integers | Zip code IDs | ||||||||||||||||||||||||||||||||||||
customAreas object | Custom areas | ||||||||||||||||||||||||||||||||||||
|
latitude integer | Latitude | |||||
longitude integer | Longitude | |||||
radius integer | Radius (miles) | |||||
address string | Address | |||||
locationId integer | Location ID | |||||
polypath object | A set of coordinates defining the boundary of the custom area | |||||
|
lat integer | Latitude |
lng integer | Longitude |
isIncluded
boolean
cid
string
sid
string
type
string
unit
string
cdId
integer
sdId
integer
hdId
integer
locationFileIds
array of integers
timeRange example
"timeRange": {
"0": [
[
"19:00:00",
"22:00:00"
]
],
"1": [
[
"09:00:00",
"12:00:00"
],
[
"15:00:00",
"18:00:00"
]
],
"2": [
[
"04:00:00",
"11:00:00"
]
],
"4": [
[
"06:00:00",
"12:00:00"
]
],
"6": [
[
"01:00:00",
"10:00:00"
]
]
},
Response Properties
id integer | Audience ID |
message string | Success message |
- JSON
- TypeScript
{
"audienceName": "string",
"frequency": 0,
"frequencyType": 0,
"startDate": 0,
"endDate": 0,
"timezone": 0,
"timeRange": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"removedLocationsIds": [
0
],
"locations": {
"country": 30100001,
"included": {
"locationIds": [
50488,
50487
],
"states": [
30200028,
30200041
],
"counties": [
30315199,
30315203,
30322340
],
"cities": [
30430094,
30430093,
30445951
],
"stateSenates": [
30714553,
30721606
],
"stateHouses": [
30802998,
30802999
],
"congressionalDistricts": [
30613735
],
"zipCodes": [
27513,
27502
],
"customAreas": [
{
"latitude": 35.406129635621866,
"longitude": -78.33474172529601,
"radius": 0.5,
"address": "Four Oaks, NC 27524, USA",
"locationId": 0,
"isIncluded": true,
"cid": "246",
"sid": "4695",
"type": "circle",
"unit": "mile",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.43298954844131,
"longitude": -78.3107305901947,
"radius": 0.5,
"address": "Smithfield, NC 27577, USA",
"locationId": 0,
"isIncluded": true,
"cid": "246",
"sid": "4695",
"type": "circle",
"unit": "mile",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.43904739191802,
"longitude": -78.20096345526908,
"radius": 3.41,
"address": "Princeton, NC 27569, USA",
"locationId": 0,
"polypath": [
{
"lat": 35.45918892465155,
"lng": -78.23392243964408
},
{
"lat": 35.465900156326505,
"lng": -78.16525788886283
},
{
"lat": 35.41890977772045,
"lng": -78.17624421698783
},
{
"lat": 35.41219462750953,
"lng": -78.23666902167533
}
],
"isIncluded": true,
"cid": "246",
"sid": "4695",
"type": "custom",
"unit": "mile",
"cdId": 0,
"sdId": 0,
"hdId": 0
}
]
},
"excluded": {
"locationIds": [
50486,
50485
],
"cities": [
30430078,
30430028
],
"counties": [
30322361
],
"stateSenates": [
30714556
],
"stateHouses": [
30804307,
30804308
],
"congressionalDistricts": [
30613736,
30620347
],
"zipCodes": [
27519
],
"customAreas": [
{
"latitude": 35.406129635621866,
"longitude": -78.33474172529601,
"radius": 0.5,
"address": "Four Oaks, NC 27524, USA",
"locationId": 0,
"isIncluded": true,
"cid": "246",
"sid": "4695",
"type": "circle",
"unit": "mile",
"cdId": 0,
"sdId": 0,
"hdId": 0
},
{
"latitude": 35.47596252362811,
"longitude": -78.08560700995658,
"radius": 4.56,
"address": "Pikeville, NC 27863, USA",
"locationId": 0,
"polypath": [
{
"lat": 35.45247713304938,
"lng": -78.12680574042533
},
{
"lat": 35.49944791420684,
"lng": -78.04440827948783
}
],
"isIncluded": true,
"cid": "246",
"sid": "4695",
"type": "square",
"unit": "mile",
"cdId": 0,
"sdId": 0,
"hdId": 0
}
]
},
"locationFileIds": [
1656
]
}
}
{
"success": true,
"data": {
"id": 1,
"message": "Geofarmed Audience created successfully."
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
message: string;
};
};
};
};
}
function CreateGeo-FarmedAudience(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/geo-farmed/add',
requestBody: {
content: {
"application/json": {
audienceName: `string`,
frequency: `number`,
frequencyType: `number`,
startDate: `number`,
endDate: `number`,
timezone: `number`,
timeRange: {
[key: string]: `string`,
},
removedLocationsIds: `number[]`,
locations: {
country: `number`,
included: {
locationIds: `number[]`,
states: `number[]`,
counties: `number[]`,
cities: `number[]`,
stateSenates: `number[]`,
stateHouses: `number[]`,
congressionalDistricts: `number[]`,
zipCodes: `number[]`,
customAreas: {
latitude: `number`,
longitude: `number`,
radius: `number`,
address: `string`,
locationId: `number`,
isIncluded: `boolean`,
cid: `string`,
sid: `string`,
type: `string`,
unit: `string`,
cdId: `number`,
sdId: `number`,
hdId: `number`,
polypath?: {
lat: `number`,
lng: `number`,
}[],
}[],
},
excluded: {
locationIds: `number[]`,
cities: `number[]`,
counties: `number[]`,
stateSenates: `number[]`,
stateHouses: `number[]`,
congressionalDistricts: `number[]`,
zipCodes: `number[]`,
customAreas: {
latitude: `number`,
longitude: `number`,
radius: `number`,
address: `string`,
locationId: `number`,
isIncluded: `boolean`,
cid: `string`,
sid: `string`,
type: `string`,
unit: `string`,
cdId: `number`,
sdId: `number`,
hdId: `number`,
polypath?: {
lat: `number`,
lng: `number`,
}[],
}[],
},
locationFileIds: number[],
}
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Create Campaign Audience
POST /api/v3/audience/campaign/addCreate a Campaign Audience.
Request Schema | ||||||||
---|---|---|---|---|---|---|---|---|
audienceName string | Audience name | |||||||
startDate integer | Unix epoch start date, in milliseconds | |||||||
endDate integer | Unix epoch end date, in milliseconds | |||||||
campaignDetail object | Campaign details | |||||||
|
impressions array of integers | Campaign IDs |
clicks array of integers | Campaign IDs |
conversions array of integers | Campaign IDs |
Response Properties
id integer | Audience ID |
message string | Success message |
- JSON
- TypeScript
{
"audienceName": "Sample audience name",
"startDate": 1638316800,
"endDate": 1640085173,
"campaignDetail": {
"impressions": [
1,
2
],
"clicks": [
3
],
"conversions": [
4
]
}
}
{
"success": true,
"data": {
"id": 1,
"message": "Campaign Audience created successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
message: string;
};
};
};
};
}
function CreateCampaignAudience(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/campaign/add',
requestBody: {
content: {
"application/json": {
audienceName: `string`,
startDate: `number`,
endDate: `number`,
campaignDetail: {
impressions: `number[]`,
clicks: `number[]`,
conversions: `number[]`,
}
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Create Audience Segment
POST /api/v3/audience/segment/addCreate an Audience Segment.
Using Segment IDs (from the Master API), you can build an Audience with the equation field. Segment IDs in parentheses, separated by a vertical bar (|), will be in an 'or' relationship, which will combine the sets of Segments; groups of Segments in parentheses, separated by an ampersand (&), will be in an 'and' relationship, which will build an Audience based on the intersection of those groups. You can see an example of this format in the Request Sample code block on the right-hand side of the page.
Request Schema | |
---|---|
groupName string | Audience Segment name |
segmentPartnerId integer | Partner ID of selected segments |
equation string | Equation string describing the or-and relationship between Segment groups |
Response Properties
id integer | Audience ID |
message string | Success message |
- JSON
- TypeScript
{
"equation": "((6388749|6388750)&(6388751|6402730|6392754|5776004))",
"name": "football-temp"
}
{
"success": true,
"data": {
"id": 1063316,
"message": "Audience created successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
message: string;
};
};
};
};
}
function createSegmentAudienceGroup(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/segment/add',
requestBody: {
content: {
"application/json": {
advertiserId?: `number`,
dspId?: `number`,
owId?: `number`,
uowId?: `number`,
name?: `string`,
equation?: `string`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Update Audience Segment
PUT /api/v3/audience/segment/{audienceId}Update an Audience Segment.
Path Parameter | |
---|---|
audienceId integer | Audience ID |
Request Schema | |
---|---|
groupName string | Audience Segment name |
dataPartnerId integer | Partner ID of selected segments |
segmentIdList string | Segment IDs |
equation string | Equation string describing or-and relationship between Segment groups |
dataPartnerName string | Data partner name |
taxonomyIdList array of integers | Taxonomy ID list |
Response Properties
message string | Success message |
- JSON
- TypeScript
{
"equation": "((5613837|5638265)&(5613844))",
"name": "Segment audience - 1"
}
{
"success": true,
"data": {
"message": "Your changes have been saved successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
message: string;
};
};
};
};
}
function updateSegmentAudienceGroup(): Promise<Responses> {
const options = {
method: 'PUT',
url: 'https://app.iqm.com/api/v3/audience/segment/{audienceId}',
params: {
path: {
audienceId: `number`,
}
},
requestBody: {
content: {
"application/json": {
advertiserId?: `number`,
dspId?: `number`,
owId?: `number`,
uowId?: `number`,
name?: `string`,
equation?: `string`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Create Pre-bid Audience
POST /api/v3/audience/prebid/addPre-bid Audiences are groups of Fraud , Brand Safety, and Viewability pre-bid segments that you select. You can create these audiences and seamlessly integrate them into new or existing Campaigns.
The IQM platform supports one Creative type per Campaign. Pre-bid segments include both display and video that can be selected. Choose only one format for each Pre-bid Audience to avoid incurring extra charges.
Request Schema | |
---|---|
prebidAudienceName string | Pre-bid Audience name |
prebidAudienceSegmentIdList array of integers | Pre-bid Audience Segment ID list |
prebidAudienceProviderId integer | Pre-bid Audience Provider ID |
Response Properties
id integer | Audience ID |
message string | Success message |
- JSON
- TypeScript
{
"prebidAudienceName": "string",
"prebidAudienceSegmentIdList": [
0
],
"prebidAudienceProviderId": 0
}
{
"success": true,
"data": {
"id": 1026631,
"message": "Audience created successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
message: string;
};
};
};
};
}
function createPrebidAudience(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/prebid/add',
requestBody: {
content: {
"application/json": {
prebidAudienceName: `string`,
prebidAudienceSegmentIdList: `number[]`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Update Pre-bid Audience
PUT /api/v3/audience/prebid/{prebidAudienceId}Update a Pre-bid Audience.
Request Schema | |
---|---|
prebidAudienceName string | Pre-bid Audience Name |
prebidAudienceSegmentIdList array of integers | Pre-bid Audience Segment ID list |
prebidAudienceIdList array of integers | Pre-bid Audience ID list |
Response Properties
prebidAudienceId integer | Audience ID |
message string | Success message |
- JSON
- TypeScript
{
"prebidAudienceIdList": [
156,
157
],
"prebidAudienceName": "prebid Aud 1"
}
{
"success": true,
"data": {
"prebidAudienceId": 1023240,
"message": "Your changes have been saved successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
prebidAudienceId: number;
message: string;
};
};
};
};
}
function editPrebidAudience(): Promise<Responses> {
const options = {
method: 'PUT',
url: 'https://app.iqm.com/api/v3/audience/prebid/{prebidAudienceId}',
params: {
path: {
prebidAudienceId: `number`,
}
},
requestBody: {
content: {
"application/json": {
prebidAudienceName: `string`,
prebidAudienceSegmentIdList: `number[]`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Create Contextual Audience
POST /api/v3/audience/contextual/addCreate a Contextual Audience.
Data Collection Period: Timeframe during which a user visits the publisher(s) relevant to one or more keywords or URLs added to the contextual Audience.
The start date of a Contextual Audience must be within the last 180 days.
The period between the start date and the end date cannot exceed 30 days.
Request Schema | |
---|---|
audienceName string | Audience name |
keywords string | Keywords to generate contextual Audience |
startDate integer | Unix epoch start date, in milliseconds (required if data collection method is static) |
endDate integer | Unix epoch start date, in milliseconds (required if data collection method is static) |
frequency integer | The number of times a user visits the publisher(s) relevant to one or more keywords or URLs added to the contextual Audience. Integer between 1-10 |
urls string | The publisher sites visited by a user |
timezoneId integer | Timezone ID specifies data collection start time |
dataCollectionMethodId integer | static (1) collection period in a fixed set of dates dynamic (2) data collection period over a rolling timeframe, with data refreshes every 24 hours |
dataCollectionDays integer | Number of days for data collection timeframe when data collection method is dynamic (maximum value: 30) |
Response Properties
id integer | Audience ID |
message string | Success message |
- JSON
- TypeScript
{
"audienceName": "Test_aud",
"frequency": 5,
"startDate": 1750737600000,
"endDate": 1753329599000,
"keywords": "Test",
"urls": "http://iqm.com",
"timezoneId": 29,
"dataCollectionMethodId": 1
}
{
"success": true,
"data": {
"id": 1078146,
"message": "Contextual Audience created successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
message: string;
};
};
};
};
}
function createContextualAudiences(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/contextual/add',
requestBody: {
content: {
"application/json": {
audienceName: `string`,
keywords?: `string`,
urls?: `string`,
frequency?: `number`,
startDate?: `number`,
endDate?: `number`,
timezoneId?: 'number',
dataCollectionMethodId: 'number',
dataCollectionDays?: 'number',
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Create ABM Audience
POST /api/v3/audience/abmCreate an ABM Audience.
Request Schema | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
audienceName string | Audience name | |||||||||||||||||||||||||
healthCareDataMappingIds array of integers | Frequency | |||||||||||||||||||||||||
dataProviderId integer | Frequency type | |||||||||||||||||||||||||
filters object | Frequency type | |||||||||||||||||||||||||
|
dataProviderIds array of integers | Data Provider IDs |
accountIds array of integers | Account IDs |
accountTypeIds array of integers | Account type IDs |
accountSubTypeIds array of integers | Account Subtype IDs |
countryIds array of integers | Country IDs |
stateIds array of integers | State IDs |
cityIds array of integers | City IDs |
titleIds array of integers | Title IDs |
specialityIds array of integers | Speciality IDs |
ids array of integers | IDs |
pageNo array of integers | Page number of retrieved data |
noOfEntries array of integers | Number of entries returned |
Response Properties
message string | Success message |
- JSON
- TypeScript
{
"audienceName": "HealthCare Innovators",
"healthCareDataMappingIds": [
1,
2,
3
],
"dataProviderId": 1,
"filters": {
"dataProviderIds": [
1
],
"healthCareSystemIds": [
40100004,
40100007
],
"accountIds": [
40208104,
40628423
],
"accountTypeIds": [
40300003
],
"accountSubTypeIds": [
40400001,
40400010
],
"countryIds": [
30100001
],
"stateIds": [
30200028,
30200043
],
"cityIds": [
30430356,
30447825,
30447952,
30448122
],
"titleIds": [
40500099
],
"specialityIds": [
40500014,
40500086
],
"ids": [
1,
2,
3
],
"pageNo": 1,
"noOfEntries": 2
}
}
{
"success": true,
"data": {
"message": "HealthCare Innovators audience created successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
message: string;
}
};
};
};
}
function saveAbmAudience(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/abm',
requestBody: {
content: {
"application/json": {
audienceName?: `string`,
healthCareDataMappingIds?: `number[]`,
filters?: {
searchBy?: `string[]`,
ids?: `number[]`,
dataProviderIds?: `number[]`,
healthCareSystemIds?: `number[]`,
accountIds?: `number[]`,
accountTypeIds?: `number[]`,
accountSubTypeIds?: `number[]`,
titleIds?: `number[]`,
specialityIds?: `number[]`,
countryIds?: `number[]`,
stateIds?: `number[]`,
cityIds?: `number[]`,
pagination?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: `ASC` | `DESC`,
offset?: `number`,
},
dataProviderId?: `number`,
}
}
}
},
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Create Lookalike Audience
POST /api/v3/audience/lookalike/addCreate a Lookalike Audience.
Request Schema | |
---|---|
audienceName string | Audience name |
sourceAudienceIds string | Source Audience IDs |
countryIds string | Country IDs |
stateIds string | State IDs |
cityIds string | City IDs |
countyIds string | County IDs |
senateDistrictIds string | Senate District IDs |
houseDistrictIds string | House District IDs |
congressionalDistrictIds string | Congressional District IDs |
audienceSize integer | Audience size |
Response Properties
id integer | Audience ID |
message string | Success message |
- JSON
- TypeScript
{
"audienceName": "Sample audience name",
"sourceAudienceIds": "1,2",
"countryIds": "246,113",
"stateIds": "4660,4661",
"cityIds": "30400001,30400002",
"countyIds": "30300001,30300003",
"senateDistrictIds": "687,688",
"houseDistrictIds": "5098,5121",
"congressionalDistrictIds": "350,78",
"audienceSize": 90
}
{
"success": true,
"data": {
"id": 1,
"message": "Lookalike Audience created successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
message: string;
};
};
};
};
}
function CreateLookalikeAudience(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/lookalike/add',
requestBody: {
content: {
"application/json": {
audienceName: `string`,
sourceAudienceIds: `string`,
countryIds: `string`,
stateIds: `string`,
cityIds: `string`,
countyIds: `string`,
senateDistrictIds: `string`,
houseDistrictIds: `string`,
congressionalDistrictIds: `string`,
audienceSize: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Update Audience Name
PATCH /api/v2/audience/updateName/{audience_id}Update an Audience's name.
Path Parameter | |
---|---|
audience_id integer | Audience ID |
Request Schema | |
---|---|
audienceName string | Audience name |
audienceTypeId integer | Audience type ID |
Response Properties
id integer | Audience ID |
message string | Success message |
- JSON
- TypeScript
{
"audienceName": "name_update_check",
"audienceTypeId": 3
}
{
"statusCode": 200,
"responseObject": {
"id": 1,
"message": "Your changes have been saved successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json;charset=UTF-8": {
statusCode: number;
responseObject: {
id: number;
message: string;
};
};
};
};
}
function UpdateAudienceName(): Promise<Responses> {
const options = {
method: 'PATCH',
url: 'https://app.iqm.com/api/v2/audience/updateName/{audience_id}',
params: {
path: {
audience_id: `string`,
}
},
requestBody: {
content: {
"application/json": {
audienceName: `string`,
audienceTypeId: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Duplicate Matched Audience
POST /api/v3/audience/matched/duplicate/{audienceId}Duplicate a Matched Audience.
Path Parameter | |
---|---|
audienceId integer | Audience ID |
Request Schema | |
---|---|
name string | Audience name |
Response Properties
id integer | Audience ID |
message string | Success message |
- JSON
- TypeScript
{
"name": "Sample audience name"
}
{
"success": true,
"data": {
"audienceId": 1,
"message": "Audience created successfully"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
audienceId: number;
message: string;
};
};
};
};
}
function Duplicatematchedaudience(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/matched/duplicate/{audienceId}',
params: {
path: {
audienceId: `string`,
}
},
requestBody: {
content: {
"application/json": {
name: `string`
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Create Audience Insights
POST /api/v3/audience/insights/addGenerate Insights for any given Audience IDs.
Query Parameter | |
---|---|
audienceIds string | Comma separated Audience IDs |
Response Properties
invalidSourceIds array of integers | Audience IDs not eligible for Insights | |||||||||||||||
insightsData object | Insights data details | |||||||||||||||
|
id integer | Insights ID |
typeId integer | Insights Type ID |
statusId integer | Insights Status ID |
sourceName string | Source Audience name |
name string | Insights name |
sourceId integer | Audience ID |
createdAt integer | Unix epoch timestamp of Insights creation |
- JSON
- TypeScript
{
"success": true,
"data": {
"invalidSourceIds": [
1233
],
"insightsData": [
{
"id": 1003,
"typeId": 1,
"statusId": 1,
"sourceName": "Audience - 1",
"name": "Audience - 1_insights",
"sourceId": 12345,
"createdAt": 1689155409179
},
{
"id": 1100,
"typeId": 1,
"statusId": 1,
"sourceName": "audience 2",
"name": "audience 2_insights",
"sourceId": 54321,
"createdAt": 1689155409179
}
]
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
invalidSourceIds: number[];
insightsData: {
id: number;
typeId: number;
statusId: number;
sourceName: string;
name: string;
sourceId: number;
createdAt: number;
}[];
};
};
};
};
}
function createInsightsForMatchedAudience(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/insights/add',
params: {
query: {
audienceIds: `string`
}
},
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Send Insights Email
POST /api/v3/audience/ins/insights/send-emailSend an Audience Insights as an email.
Query Parameter | |
---|---|
id string | Insights ID |
attachmentType string | File type: xlsx or pdf |
recipientEmails string | Comm separated string of emails to send Insights Report to. Up to 15 may be specified at a time |
audienceId integer | Audience ID |
Response Properties
success boolean | Indicates Report was succesfully created: true |
data string | Success message |
- JSON
- TypeScript
{
"file": "string"
}
{
"success": true,
"data": "Insights-1 pdf email sent successfully."
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: string;
};
};
};
}
function sendAudienceInsightsEmail(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/ins/insights/send-email',
params: {
query: {
attachmentType: `string`,
recipientEmails: `string`,
audienceId: `number`,
}
},
requestBody?: {
content: {
"application/json": {
file?: `string`
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Regenerate Audience Insights Report
POST /api/v3/audience/ins/insights/regenerate/{insightsId}Regenerate the Insights Report for a given Insight ID, if the Insights fails.
Path Parameter | |
---|---|
insightsId integer | Insights ID |
Response Properties
success boolean | Indicates Report was succesfully created: true |
data string | Success message |
- JSON
- TypeScript
{
"success": true,
"data": "Insights regenerated successfully."
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: string;
};
};
};
}
function regenerateInsightsFromAudience(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/ins/insights/regenerate/{insightsId}',
params: {
path: {
insightsId: `number`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Download Audience Insights Report
POST /api/v3/audience/ins/insights/downloadDownload an Audience Insights Report as an XLSX or PDF file.
Query Parameters | |
---|---|
audienceId integer | Audience ID |
fileType string | File type: xlsx or pdf |
Request Schema | |
---|---|
customLogoFile string | Custom logo file |
Response Properties
insightsReportUrl string | Insights Report URL |
- JSON
- TypeScript
{
"customLogoFile": "string"
}
{
"success": true,
"data": {
"insightsReportUrl": "https://domain.com/insights.pdf"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
insightsReportUrl: string;
}
};
};
};
}
function downloadInsightsReportOfAudience(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/ins/insights/download',
params: {
query: {
audienceId: `number`,
fileType: `string`,
}
},
requestBody?: {
content: {
"application/json": {
customLogoFile?: `string`
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Validate URL for Contextual Audience
POST /api/v3/audience/contextual/programmatic/url/validateValidate given URLs to be targeted in a Contextual Audience.
Request Schema | |
---|---|
URLs array of strings | URLs to validate |
Response Properties
success boolean | Indicates Report was succesfully created: true |
data array of strings | Validated URLs |
- JSON
- TypeScript
[
"https://sample-url-1.com",
"https://sample-url-2.com",
"https://sample-url-3.com"
]
{
"success": true,
"data": {
"https://sample-url-1.com": false,
"https://sample-url-2.me": true,
"https://sample-url-3.me": null,
"https://sample-url-4.com": true
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: string[];
};
};
};
}
function validateContextualUrl(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/contextual/programmatic/url/validate',
requestBody: {
content: {
"application/json": `string[]`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Delete Audience
DELETE /api/v2/audience/deleteDelete an Audience. Endpoint first checks two validations before deleting an Audience:
- User's access to Audience IDs
- Whether Audience IDs are attached to any Campaigns.
If the user is not authorized to delete an Audience, or the Audience IDs are attached to a Campaign, the request will return an error.
Request Schema | |
---|---|
audienceIds string | Comma separated Audience IDs |
Response Properties
audienceFailedIds array of integers | Audience IDs not eligible for deletion |
message string | Success message |
audienceSuccessfulIds array of integers | Audience IDs successfully deleted |
status boolean | Indicates all Audiences are processed: true |
- JSON
- TypeScript
{
"audienceIds": "123456,123457"
}
{
"statusCode": 200,
"responseObject": {
"audienceFailedIds": [],
"message": "Selected audience(s) deleted successfully",
"audienceSuccessfulIds": [
123456,
123457
],
"status": true
}
}
More Responses
{
"statusCode": 400,
"responseObject": {
"errorMsg": "Request body either not provided or not valid.",
"errorCode": 400,
"description": "uri=/api/v2/audience/delete"
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
statusCode: number;
responseObject: {
audienceFailedIds: string[];
message: string;
audienceSuccessfulIds: number[];
status: boolean;
};
};
};
};
}
function DeleteAudience(): Promise<Responses> {
const options = {
method: 'PUT',
url: 'https://app.iqm.com/api/v2/audience/delete',
requestBody: {
content: {
"application/json": {
audienceIds: `string`
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Healthcare Data Details
ABM Audience Details
GET /api/v3/audience/abm/{audienceId}Get ABM Audience details by ID.
Path Parameter | |
---|---|
audienceId integer | ABM Audience ID |
Response Properties
id integer | Audience ID | |||||||||||||||||||||||||
name string | Audience name | |||||||||||||||||||||||||
status string | Audience status | |||||||||||||||||||||||||
audienceTypeId integer | Audience Type ID | |||||||||||||||||||||||||
createdAt integer | Unix epoch timestamp of Audience creation | |||||||||||||||||||||||||
partnerName string | Partner name | |||||||||||||||||||||||||
partnerLogoUrl string | Partner logo URL | |||||||||||||||||||||||||
uniques integer | Count of unique Audiences reached | |||||||||||||||||||||||||
dataCost integer | Fees charged by the platform if the Audience is used in any Campaign | |||||||||||||||||||||||||
filters object | Frequency type | |||||||||||||||||||||||||
|
dataProviderIds array of integers | Data Provider IDs |
accountIds array of integers | Account IDs |
accountTypeIds array of integers | Account type IDs |
accountSubTypeIds array of integers | Account Subtype IDs |
countryIds array of integers | Country IDs |
stateIds array of integers | State IDs |
cityIds array of integers | City IDs |
titleIds array of integers | Title IDs |
specialityIds array of integers | Speciality IDs |
ids array of integers | IDs |
pageNo array of integers | Page number of retrieved data |
noOfEntries array of integers | Number of entries returned |
- JSON
- TypeScript
{
"success": true,
"data": {
"id": 1124243,
"name": "Test ABM audience",
"status": "Processing",
"audienceTypeId": 9,
"createdAt": 1739261114,
"partnerName": "Healthlink",
"partnerLogoUrl": "www.sample.com",
"uniques": 1000,
"dataCost": 10,
"healthCareDataMappingIds": [
13572,
13575,
32777
],
"filters": {
"ids": [
13572,
13575,
32777
],
"dataProviderIds": [
1
],
"healthCareSystemIds": [
1,
2,
3
],
"accountIds": [
1,
2,
3
],
"accountTypeIds": [
1,
2,
3
],
"accountSubTypeIds": [
1,
2,
3
],
"titleIds": [
1,
2,
3
],
"specialityIds": [
1,
2,
3
],
"countryIds": [
30100001
],
"stateIds": [
1,
2,
3
],
"cityIds": [
1,
2,
3
],
"pageNo": 1,
"noOfEntries": 10000
}
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
name: string;
status: string;
audienceTypeId: number;
createdAt: number;
partnerName: string;
partnerLogoUrl: string;
uniques: number;
dataCost: number;
healthCareDataMappings: number[];
filters: {
id: number[];
dataProviderIds: number[];
healthCareSystemIds: number[];
accountIds: number[];
accountTypeIds: number[];
accountSubTypeIds: number[];
titleIds: number[];
specialtyIds: number[];
countryIds: number[];
stateIds: number[];
cityIds: number[];
pageNo: number;
noOfEntries: number;
}
}
};
};
};
}
function getAccountBasedAudienceDetailsByAudienceId(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/abm/{audienceId}',
params: {
path: {
audienceId: `number`
}
},
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
ABM Audience statistics
GET /api/v3/audience/abm/{audienceId}/healthcare-data-statisticsGet ABM Audience statistics by ID.
Path Parameter | |
---|---|
audienceId integer | ABM Audience ID |
Response Properties
healthSystem integer | Healthcare System ID |
account integer | Healthcare Account ID |
accountType integer | Healthcare Account Type ID |
npiReach integer | NPI reach |
speciality integer | Healthcare Specialty ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"healthSystem": 2,
"account": 4,
"accountType": 8,
"npiReach": 25513,
"speciality": 3
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
healthSystem: number;
account: number;
accountType: number;
npiReach: number;
specialty: number;
}
};
};
};
}
function getABMAudienceHealthCareStatisticsByAudienceId(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/abm/{audienceId}/healthcare-data-statistics',
params: {
path: {
audienceId: `number`
}
},
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Healthcare Titles List
GET /api/v3/audience/abm/healthcare-data/titleGet a list of healthcare titles.
Query Parameters | |
---|---|
dataProviderIds array of integers | Data Provider IDs |
pageNo integer | Page number for the data, default: 0 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
searchField string | Search results by keyword |
Response Properties
id integer | Title ID |
displayName string | Title name |
displayOrder integer | Display order |
- JSON
- TypeScript
{
"success": true,
"data": {
"titleList": [
{
"id": 1,
"displayName": "Healthcare Title 1",
"displayOrder": 1
},
{
"id": 2,
"displayName": "Healthcare Title 2",
"displayOrder": 20
}
],
"filteredRecords": 5,
"totalRecords": 3294
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
titleList: {
id: number;
displayName: string;
displayOrder: number;
}[];
filterRecords: number;
totalRecords: number;
}
};
};
};
}
function getHealthcareTitleList(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/abm/healthcare-data/title',
params: {
query: {
dataProviderIds: `number[]`,
pageNo?: `number`,
noOfEntries?: `number`,
searchField?: `string`,
}
}
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Healthcare Specialties List
GET /api/v3/audience/abm/healthcare-data/specialityGet a list of healthcare specialties.
Query Parameters | |
---|---|
dataProviderIds array of integers | Data Provider IDs |
pageNo integer | Page number for the data, default: 0 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
searchField string | Search results by keyword |
Response Properties
id integer | Specialty ID |
displayName string | Specialty name |
displayOrder integer | Display order |
- JSON
- TypeScript
{
"success": true,
"data": {
"specialityList": [
{
"id": 1,
"displayName": "Healthcare Speciality 1",
"displayOrder": 1
},
{
"id": 2,
"displayName": "Healthcare Speciality 2",
"displayOrder": 20
}
],
"filteredRecords": 5,
"totalRecords": 3294
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
specialityList: {
id: number;
displayName: string;
displayOrder: number;
}[];
filterRecords: number;
totalRecords: number;
}
};
};
};
}
function getHealthcareSpecialityList(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/abm/healthcare-data/speciality',
params: {
query: {
dataProviderIds: `number[]`,
pageNo?: `number`,
noOfEntries?: `number`,
searchField?: `string`,
}
}
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Healthcare Systems List
GET /api/v3/audience/abm/healthcare-data/healthcare-systemGet a list of healthcare systems.
Query Parameters | |
---|---|
dataProviderIds array of integers | Data Provider IDs |
pageNo integer | Page number for the data, default: 0 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
searchField string | Search results by keyword |
Response Properties
id integer | System ID |
displayName string | System name |
displayOrder integer | Display order |
- JSON
- TypeScript
{
"success": true,
"data": {
"healthcareSystemList": [
{
"id": 1,
"displayName": "Healthcare System 1",
"displayOrder": 1
},
{
"id": 2,
"displayName": "Healthcare System 2",
"displayOrder": 20
}
],
"filteredRecords": 5,
"totalRecords": 3294
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
healthcareSystemList: {
id: number;
displayName: string;
displayOrder: number;
}[];
filterRecords: number;
totalRecords: number;
}
};
};
};
}
function getHealthcareSystemList(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/abm/healthcare-data/healthcare-system',
params: {
query: {
dataProviderIds: `number[]`,
pageNo?: `number`,
noOfEntries?: `number`,
searchField?: `string`,
}
}
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Healthcare Data
POST /api/v3/audience/abm/healthcare-dataGet a healthcare data list by specified filters.
Query Parameters | |
---|---|
dataProviderIds array of integers | Data Provider IDs |
pageNo integer | Page number for the data, default: 0 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
healthCareSystemIds array of integers | Healthcare system IDs |
accountNameIds array of integers | Account name IDs |
accountTypeIds array of integers | Account type IDs |
accountSubTypeIds array of integers | Account subtype IDs |
countryIds array of integers | Country IDs |
stateIds array of integers | State IDs |
cityIds array of integers | City IDs |
titleIds array of integers | Title IDs |
specialityIds array of integers | Specialty IDs |
ids array of integers | IDs |
Response Properties
id integer | Audience ID |
cost integer | Charges for a specific segment |
reach integer | Unique reach of segments (i.e. Audience reach) |
healthCareSystemId integer | Healthcare System ID |
healthCareSystemName string | Healthcare System name |
accountId integer | Healthcare Account ID |
accountName string | Healthcare account name |
accountTypeId integer | Healthcare Account Type ID |
accountTypeName string | Healthcare Account type name |
accountSubTypeId integer | Healthcare Account Subtype ID |
accountSubTypeName string | Healthcare Account subtype name |
titleId integer | Healthcare Title ID |
titleName string | Healthcare title name |
specialityId integer | Healthcare Specialty ID |
specialityName string | Healthcare specialty name |
countryId integer | Country ID |
countryName string | Country name |
stateId integer | State ID |
stateName string | State name |
cityId integer | City ID |
cityName string | City name |
dataProviderId integer | Data Provider ID |
dataProviderName string | Data provider name |
- JSON
- TypeScript
{
"dataProviderIds": [
1
],
"healthCareSystemIds": [
40100004,
40100007
],
"accountIds": [
40208104,
40628423
],
"accountTypeIds": [
40300003
],
"accountSubTypeIds": [
40400001,
40400010
],
"countryIds": [
30100001
],
"stateIds": [
30200028,
30200043
],
"cityIds": [
30430356,
30447825,
30447952,
30448122
],
"titleIds": [
40500099
],
"specialityIds": [
40500014,
40500086
],
"ids": [
1,
2,
3
],
"pageNo": 1,
"noOfEntries": 2
}
{
"success": true,
"data": {
"totalRecords": 52265,
"filteredRecords": 5,
"healthCareData": [
{
"id": 1,
"cost": 10,
"reach": 1,
"healthCareSystemId": 40100004,
"healthCareSystemName": "ABCD PEDIATRICS",
"accountId": 40628423,
"accountName": "Stepping Stone Pediatrics PA",
"accountTypeId": 40300003,
"accountTypeName": "Group Practice",
"accountSubTypeId": 40400010,
"accountSubTypeName": "Telephone/E-Mail Order Pharmacy",
"titleId": 40500099,
"titleName": "MD",
"specialityId": 40500086,
"specialityName": "Gastroenterology",
"countryId": 30100001,
"countryName": "United States",
"stateId": 30200043,
"stateName": "Tennessee",
"cityId": 30447952,
"cityName": "Franklin, TN",
"dataProviderId": 1,
"dataProviderName": "HealthCarelink"
},
{
"id": 2,
"cost": 10,
"reach": 1,
"healthCareSystemId": 40100004,
"healthCareSystemName": "ABCD PEDIATRICS",
"accountId": 40628423,
"accountName": "Stepping Stone Pediatrics PA",
"accountTypeId": 40300003,
"accountTypeName": "Group Practice",
"accountSubTypeId": 40400010,
"accountSubTypeName": "Telephone/E-Mail Order Pharmacy",
"titleId": 40500099,
"titleName": "MD",
"specialityId": 40500086,
"specialityName": "Gastroenterology",
"countryId": 30100001,
"countryName": "United States",
"stateId": 30200043,
"stateName": "Tennessee",
"cityId": 30447825,
"cityName": "Brentwood, TN",
"dataProviderId": 1,
"dataProviderName": "HealthCarelink"
}
]
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
totalRecords: number;
filteredRecords: number;
healthCareData: {
id: number;
cost: number;
reach: number;
healthCareSystemId: number;
healthCareSystemName: string;
accountId: number;
accountName: string;
accountTypeId: number;
accountTypeName: string;
accountSubTypeId: number;
accountSubTypeName: string;
titleId: number;
titleName: string;
specialityId: number;
specialityName: string;
countryId: number;
countryName: string;
stateId: number;
stateName: string;
cityId: number;
cityName: string;
dataProviderId: number;
dataProviderName: string;
}[];
}
};
};
};
}
function getHealthCareData(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/abm/healthcare-data',
requestBody: {
content: {
"application/json": {
searchBy?: `string[]`,
ids?: `number[]`,
dataProviderIds?: `number[]`,
healthCareSystemIds?: `number[]`,
accountIds?: `number[]`,
accountTypeIds?: `number[]`,
accountSubTypeIds?: `number[]`,
titleIds?: `number[]`,
specialityIds?: `number[]`,
countryIds?: `number[]`,
stateIds?: `number[]`,
cityIds?: `number[]`,
pagination?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: `ASC` | `DESC`,
offset?: `number`,
}
}
}
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Healthcare Statistics
POST /api/v3/audience/abm/healthcare-data/statisticsGet healthcare statistics details.
Query Parameters | |
---|---|
dataProviderIds array of integers | Data Provider IDs |
pageNo integer | Page number for the data, default: 0 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
healthCareSystemIds array of integers | Healthcare system IDs |
accountNameIds array of integers | Account name IDs |
accountTypeIds array of integers | Account type IDs |
accountSubTypeIds array of integers | Account subtype IDs |
countryIds array of integers | Country IDs |
stateIds array of integers | State IDs |
cityIds array of integers | City IDs |
titleIds array of integers | Title IDs |
specialityIds array of integers | Specialty IDs |
ids array of integers | IDs |
Response Properties
healthSystem integer | Healthcare System ID |
account integer | Healthcare Account ID |
accountType integer | Healthcare Account Type ID |
npiReach integer | NPI reach |
speciality integer | Healthcare Specialty ID |
- JSON
- TypeScript
{
"dataProviderIds": [
1
],
"healthCareSystemIds": [
40100004,
40100007
],
"accountIds": [
40208104,
40628423
],
"accountTypeIds": [
40300003
],
"accountSubTypeIds": [
40400001,
40400010
],
"countryIds": [
30100001
],
"stateIds": [
30200028,
30200043
],
"cityIds": [
30430356,
30447825,
30447952,
30448122
],
"titleIds": [
40500099
],
"specialityIds": [
40500014,
40500086
],
"ids": [
1,
2,
3
],
"pageNo": 1,
"noOfEntries": 2
}
{
"success": true,
"data": {
"healthSystem": 2,
"account": 4,
"accountType": 8,
"npiReach": 25513,
"speciality": 3
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
healthSystem: number;
account: number;
accountType: number;
npiReach: number;
speciality: number;
}
};
};
};
}
function getHealthCareDataStatistics(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/abm/healthcare-data/statistics',
requestBody: {
content: {
"application/json": {
searchBy?: `string[]`,
ids?: `number[]`,
dataProviderIds?: `number[]`,
healthCareSystemIds?: `number[]`,
accountIds?: `number[]`,
accountTypeIds?: `number[]`,
accountSubTypeIds?: `number[]`,
titleIds?: `number[]`,
specialityIds?: `number[]`,
countryIds?: `number[]`,
stateIds?: `number[]`,
cityIds?: `number[]`,
pagination?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: `ASC` | `DESC`,
offset?: `number`,
}
}
}
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Healthcare Account Types
POST /api/v3/audience/abm/healthcare-data/account-typeGet a list of healthcare account types.
Query Parameters | |
---|---|
dataProviderIds array of integers | Data Provider IDs |
pageNo integer | Page number for the data, default: 0 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
healthCareSystemIds array of integers | Healthcare system IDs |
accountNameIds array of integers | Account name IDs |
searchField string | Search results by keyword |
Response Properties
id integer | Account ID |
displayName string | Account name |
displayOrder integer | Display order |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 20,
"searchField": "Sample Text",
"dataProviderIds": [
1
],
"healthcareSystemIds": [
1,
2,
3
],
"accountNameIds": [
4,
5,
6
]
}
{
"success": true,
"data": {
"accountTypeList": [
{
"id": 1,
"displayName": "Account Type 1",
"displayOrder": 1
},
{
"id": 2,
"displayName": "Account Type 2",
"displayOrder": 2
}
],
"filteredRecords": 5,
"totalRecords": 3294
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
accountTypeList: {
id: number;
displayName: string;
displayOrder: number;
}[];
filteredRecords: number;
totalRecords: number;
}
};
};
};
}
function getAccountTypeList(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/abm/healthcare-data/account-type',
requestBody: {
content: {
"application/json": {
searchBy?: `string[]`,
ids?: `number[]`,
dataProviderIds?: `number[]`,
verticalId: `number`,
healthCareSystemIds?: `number[]`,
accountNameIds?: `number[]`,
accountTypeIds?: `number[]`,
pagination?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: `ASC` | `DESC`,
offset?: `number`,
}
}
}
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Healthcare Account Subtypes
POST /api/v3/audience/abm/healthcare-data/account-subtypeGet a list of healthcare account subtypes.
Query Parameters | |
---|---|
dataProviderIds array of integers | Data Provider IDs |
pageNo integer | Page number for the data, default: 0 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
healthCareSystemIds array of integers | Healthcare system IDs |
accountNameIds array of integers | Account name IDs |
searchField string | Search results by keyword |
accountTypeIds array of integers | Account type IDs |
Response Properties
id integer | Account subtype ID |
displayName string | Account sub name |
displayOrder integer | Display order |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 20,
"searchField": "Sample Text",
"dataProviderIds": [
1
],
"healthcareSystemIds": [
1,
2,
3
],
"accountNameIds": [
4,
5,
6
],
"accountTypeIds": [
7,
8,
9
]
}
{
"success": true,
"data": {
"accountSubTypeList": [
{
"id": 1,
"displayName": "Account Subtype 1",
"displayOrder": 1
},
{
"id": 2,
"displayName": "Account Subtype 2",
"displayOrder": 2
}
],
"filteredRecords": 5,
"totalRecords": 3294
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
accountSubTypeList: {
id: number;
displayName: string;
displayOrder: number;
}[];
filteredRecords: number;
totalRecords: number;
}
};
};
};
}
function getAccountSubTypeList(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/abm/healthcare-data/account-subtype',
requestBody: {
content: {
"application/json": {
searchBy?: `string[]`,
ids?: `number[]`,
dataProviderIds?: `number[]`,
verticalId: `number`,
healthCareSystemIds?: `number[]`,
accountNameIds?: `number[]`,
accountTypeIds?: `number[]`,
pagination?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: `ASC` | `DESC`,
offset?: `number`,
}
}
}
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Healthcare Account Names
POST /api/v3/audience/abm/healthcare-data/account-nameGet a list of healthcare account names.
Query Parameters | |
---|---|
dataProviderIds array of integers | Data Provider IDs |
pageNo integer | Page number for the data, default: 0 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
healthCareSystemIds array of integers | Healthcare system IDs |
searchField string | Search results by keyword |
Response Properties
id integer | Account name ID |
displayName string | Account name |
displayOrder integer | Display order |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 20,
"searchField": "Sample text",
"dataProviderIds": [
1
],
"healthcareSystemIds": [
1,
2,
3
]
}
{
"success": true,
"data": {
"accountNameList": [
{
"id": 1,
"displayName": "Account Name 1",
"displayOrder": 1
},
{
"id": 2,
"displayName": "Account Name 2",
"displayOrder": 20
}
],
"filteredRecords": 5,
"totalRecords": 3294
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
accountNameList: {
id: number;
displayName: string;
displayOrder: number;
}[];
filteredRecords: number;
totalRecords: number;
}
};
};
};
}
function getAccountNameList(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/audience/abm/healthcare-data/account-name',
requestBody: {
content: {
"application/json": {
searchBy?: `string[]`,
ids?: `number[]`,
dataProviderIds?: `number[]`,
verticalId: `number`,
healthCareSystemIds?: `number[]`,
accountNameIds?: `number[]`,
accountTypeIds?: `number[]`,
pagination?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: `ASC` | `DESC`,
offset?: `number`,
}
}
}
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
More Audience Details
Matched Audience fields
GET /api/v2/audience/matched/fieldsGet a list of Matched Audience columns.
Response Properties
mandatoryColumns object array | Matched Audience required fields | |||||||
voterIdColumns object array | Voter ID field | |||||||
optionalColumns object array | Matched Audience optional fields | |||||||
|
id integer | Column ID |
name string | Column name |
l2Name string | Column L2 name |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": {
"mandatoryColumns": [
{
"id": 2,
"name": "First Name",
"l2Name": "Voters_FirstName"
},
{
"id": 3,
"name": "Last Name",
"l2Name": "Voters_LastName"
},
{
"id": 4,
"name": "State",
"l2Name": "Residence_Addresses_State"
},
{
"id": 6,
"name": "Zip",
"l2Name": "Residence_Addresses_Zip"
}
],
"voterIDColumns": [
{
"id": 1,
"name": "Voter ID",
"l2Name": "LalVoterID"
}
],
"optionalColumns": [
{
"id": 5,
"name": "Address",
"l2Name": "Residence_Addresses_AddressLine"
},
{
"id": 7,
"name": "Full Name",
"l2Name": "Voters_FullName"
},
{
"id": 8,
"name": "City",
"l2Name": "Residence_Addresses_City"
},
{
"id": 9,
"name": "ZipPlus4",
"l2Name": "Residence_Addresses_ZipPlus4"
},
{
"id": 10,
"name": "Age",
"l2Name": "Voters_Age"
},
{
"id": 11,
"name": "Gender",
"l2Name": "Voters_Gender"
},
{
"id": 12,
"name": "Ethnicity",
"l2Name": "Ethnic_Description"
},
{
"id": 13,
"name": "Cellphone",
"l2Name": "VoterTelephones_CellphoneUnformatted"
},
{
"id": 14,
"name": "Landline",
"l2Name": "VoterTelephones_LandlineUnformatted"
},
{
"id": 15,
"name": "Latitude",
"l2Name": "Residence_Addresses_Latitude"
},
{
"id": 16,
"name": "Longitude",
"l2Name": "Residence_Addresses_Longitude"
}
]
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json;charset=UTF-8": {
statusCode: number;
responseObject: {
mandatoryColumns: {
id: number;
name: string;
l2Name: string;
}[];
voterIDColumns: {
id: number;
name: string;
l2Name: string;
}[];
optionalColumns: {
id: number;
name: string;
l2Name: string;
}[];
};
};
};
};
}
function GetMatchedAudienceFields(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/audience/matched/fields',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Reach Range List for Audience Segment
GET /api/v3/audience/static/segment/reach-rangeGet a static list of the available reach range used to filter Audience Segment data.
Response Properties
displayName string | Reach range display name |
id integer | Reach range ID |
order integer | order |
- JSON
- TypeScript
{
"success": true,
"data": [
{
"displayName": "Unknown",
"id": 1,
"order": "1"
},
{
"displayName": "<10K",
"id": 2,
"order": "2"
},
{
"displayName": "10K to 100K",
"id": 3,
"order": "3"
},
{
"displayName": "100K to 1M",
"id": 4,
"order": "4"
},
{
"displayName": "1M+",
"id": 5,
"order": "5"
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json;charset=UTF-8": {
success: boolean;
data: {
displayName: string;
id: number;
order: string;
}[];
};
};
};
}
function getSegmentReachRange(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/static/segment/reach-range',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Price Range List for Audience Segment
GET /api/v3/audience/static/segment/price-rangeGet a static list of available CPM range used to filter Audience Segment data.
Response Properties
displayName string | Price range display name |
id integer | Price range ID |
order integer | order |
- JSON
- TypeScript
{
"success": true,
"data": [
{
"displayName": "$0 - $1",
"id": 1,
"order": "1"
},
{
"displayName": "$1.01 - $2",
"id": 2,
"order": "2"
},
{
"displayName": "$2.01 - $5",
"id": 3,
"order": "3"
},
{
"displayName": "$5.01 - $10",
"id": 4,
"order": "4"
},
{
"displayName": "$10.01+",
"id": 5,
"order": "5"
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json;charset=UTF-8": {
success: boolean;
data: {
displayName: string;
id: number;
order: string;
}[];
};
};
};
}
function getSegmentPriceRange(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/static/segment/price-range',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Data Partners List for Matched Audience
GET /api/v3/audience/static/matched/data-partnerGet a static list of Matched Audience data partners.
Response Properties
id integer | Data partner ID |
label string | Data partner label |
keyName string | Data partner key name |
audienceColumnId integer | Audience column ID |
- JSON
- TypeScript
{
"success": true,
"data": [
{
"id": 1,
"label": "Registered Voter ID",
"keyName": "Voters_StateVoterID",
"audienceColumnId": 1
},
{
"id": 2,
"label": "L2 ID",
"keyName": "LalVoterID",
"audienceColumnId": 1
},
{
"id": 3,
"label": "i360 ID",
"keyName": "i360_id",
"audienceColumnId": 1
},
{
"id": 4,
"label": "TargetSmart ID",
"keyName": "voterbase_id",
"audienceColumnId": 1
},
{
"id": 6,
"label": "Aristotle ID",
"keyName": "aristotle_id",
"audienceColumnId": 1
},
{
"id": 7,
"label": "Healthlink ID",
"keyName": "hl_npi_id",
"audienceColumnId": 26
},
{
"id": 5,
"label": "Other ID",
"keyName": "Other",
"audienceColumnId": 1
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json;charset=UTF-8": {
success: boolean;
data: {
id: number;
label: string;
keyName: string;
audienceColumnId: number;
}[];
};
};
};
}
function getMatchedAudienceDataPartner(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/static/matched/data-partner',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Data Formats List for Matched Audience
GET /api/v3/audience/static/matched/data-formatGet a static list of Matched Audience hashed data formats.
Response Properties
id integer | Data format ID |
label string | Data format label |
keyName string | Data format key name |
- JSON
- TypeScript
{
"success": true,
"data": [
{
"id": 1,
"label": "Raw",
"keyName": "Raw"
},
{
"id": 2,
"label": "Hashed (MD5)",
"keyName": "MD5"
},
{
"id": 3,
"label": "Hashed (SHA1)",
"keyName": "SHA1"
},
{
"id": 4,
"label": "Hashed (SHA256)",
"keyName": "SHA256"
},
{
"id": 5,
"label": "Hashed (SHA512)",
"keyName": "SHA512"
},
{
"id": 6,
"label": "Hashed (other)",
"keyName": "Other"
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json;charset=UTF-8": {
success: boolean;
data: {
id: number;
label: string;
keyName: string;
}[];
};
};
};
}
function getMatchedAudienceDataFormats(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/static/matched/data-format',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Column List for Matched Audience
GET /api/v3/audience/static/matched/column-listGet a static list of columns for Matched Audiences.
Response Properties
id integer | Column ID |
label string | Column label |
key string | Column key name |
order integer | Order |
isSinglecolumn boolean | Flag to indicate if the mapping is single column enabled, if the voterId/phone/email/full-address is the primary column mapping then this should be true, and false otherwise. Default value: false |
- JSON
- TypeScript
{
"success": true,
"data": [
{
"id": 1,
"label": "Voter ID",
"key": "Voters_ID",
"order": 1,
"isSingleColumn": true
},
{
"id": 2,
"label": "Email",
"key": "Email",
"order": 2,
"isSingleColumn": true
},
{
"id": 3,
"label": "Phone",
"key": "Phone",
"order": 3,
"isSingleColumn": true
},
{
"id": 4,
"label": "Full Address",
"key": "Residence_FullAddress",
"order": 4,
"isSingleColumn": true
},
{
"id": 5,
"label": "First Name",
"key": "Voters_FirstName",
"order": 5,
"isSingleColumn": false
},
{
"id": 6,
"label": "Last Name",
"key": "Voters_LastName",
"order": 6,
"isSingleColumn": false
},
{
"id": 7,
"label": "Zip",
"key": "Residence_Addresses_Zip",
"order": 7,
"isSingleColumn": false
},
{
"id": 8,
"label": "State",
"key": "Residence_Addresses_State",
"order": 8,
"isSingleColumn": false
},
{
"id": 9,
"label": "Street Address",
"key": "Residence_Addresses_AddressLine",
"order": 9,
"isSingleColumn": false
},
{
"id": 10,
"label": "Full Name",
"key": "Voters_FullName",
"order": 10,
"isSingleColumn": false
},
{
"id": 11,
"label": "City",
"key": "Residence_Addresses_City",
"order": 11,
"isSingleColumn": false
},
{
"id": 12,
"label": "ZipPlus4",
"key": "Residence_Addresses_ZipPlus4",
"order": 12,
"isSingleColumn": false
},
{
"id": 13,
"label": "Age",
"key": "Voters_Age",
"order": 13,
"isSingleColumn": false
},
{
"id": 14,
"label": "Gender",
"key": "Voters_Gender",
"order": 14,
"isSingleColumn": false
},
{
"id": 15,
"label": "Ethnicity",
"key": "Ethnic_Description",
"order": 15,
"isSingleColumn": false
},
{
"id": 16,
"label": "Latitude",
"key": "Residence_Addresses_Latitude",
"order": 16,
"isSingleColumn": false
},
{
"id": 17,
"label": "Longitude",
"key": "Residence_Addresses_Longitude",
"order": 17,
"isSingleColumn": false
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json;charset=UTF-8": {
success: boolean;
data: {
id: number;
label: string;
key: string;
order: number;
isSinglecolumn: boolean;
}[];
};
};
};
}
function getMatchedAudienceColumnList(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/static/matched/column-list',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Audience Type List
GET /api/v3/audience/static/audience-typesGet a static list of Audience types.
Response Properties
id integer | Audience type ID |
displayName string | Audience type display name |
displayOrder integer | Order |
- JSON
- TypeScript
{
"success": true,
"data": [
{
"id": 1,
"displayName": "Matched Audience",
"displayOrder": 1
},
{
"id": 2,
"displayName": "Segmented Audience",
"displayOrder": 2
},
{
"id": 3,
"displayName": "Retargeted Audience",
"displayOrder": 3
},
{
"id": 4,
"displayName": "Geofarmed Audience",
"displayOrder": 4
},
{
"id": 5,
"displayName": "Contextual Audience",
"displayOrder": 5
},
{
"id": 6,
"displayName": "Lookalike Audience",
"displayOrder": 6
},
{
"id": 7,
"displayName": "Campaign Audience",
"displayOrder": 7
},
{
"id": 8,
"displayName": "Pre-bid Audience",
"displayOrder": 8
},
{
"id": 9,
"displayName": "Account Based Audience",
"displayOrder": 9
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
id: number;
displayName: string;
displayOrder: number;
}[];
};
};
};
}
function getAudienceTypesList(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/static/audience-types',
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Audience Status List
GET /api/v2/audience/statusGet a static list of Audience statuses.
Query Parameter | |
---|---|
audienceTypeIds integer required | Audience type IDs |
Response Properties
id integer | Audience status ID |
status string | Status name |
displayName string | Audience status display name |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": [
{
"id": 6,
"status": "Failed",
"displayName": "Failed"
},
{
"id": 2,
"status": "Pending",
"displayName": "Pending"
},
{
"id": 1,
"status": "Processing",
"displayName": "Processing"
},
{
"id": 4,
"status": "Rejected",
"displayName": "Rejected"
},
{
"id": 10,
"status": "Ready",
"displayName": "Ready"
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
statusCode: number;
responseObject: {
id: number;
status: string;
displayName: string;
}[];
};
};
};
}
function GetAudienceStatus(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/audience/status',
params: {
query: {
audienceTypeIds: `number`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Frequency Type List
GET /api/v3/audience/static/frequency-typeGet a static list of Geo-Farmed Audience frequency types.
Response Properties
id integer | Frequency ID |
name string | Frequency name |
displayName string | Frequency display name |
order integer | Order |
- JSON
- TypeScript
{
"success": true,
"data": [
{
"id": 1,
"name": "total",
"displayName": "Total",
"order": 1
},
{
"id": 2,
"name": "weekly",
"displayName": "Weekly",
"order": 2
},
{
"id": 3,
"name": "monthly",
"displayName": "Monthly",
"order": 3
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
statusCode: number;
responseObject: {
id: number;
status: string;
displayName: string;
}[];
};
};
};
}
function GetGeo-FarmedFrequencyTypes(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/static/frequency-type',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Provider Details List
GET /api/v3/audience/prebid/static/providers/listGet a static list of providers details.
Response Properties
prebidSegmentData array of objects | Pre-bid Segment Data | |||||||||
|
providerId integer | Provider ID |
providerName string | Provider name |
description string | Description |
providerLogoUrl string | Provider logo URL |
- JSON
- TypeScript
{
"success": true,
"data": {
"totalRecords": 1,
"prebidSegmentData": [
{
"providerId": 1,
"providerName": "Integral Ad Science",
"description": "Segments for Brand Safety, Viewability, Fraud & IVT",
"providerLogoUrl": "http://logoUrl.com"
},
{
"providerId": 2,
"providerName": "Double Verify",
"description": "Segments for Brand Safety, Viewability, Fraud & IVT",
"providerLogoUrl": "http://logoUrl.com"
}
],
"filteredRecords": 2
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
totalRecords: number;
prebidSegmentData: {
providerId: number;
providerName: string;
description: string;
providerLogoUrl: string;
}[];
filteredRecords: number;
}
};
};
};
}
function getProviders(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/audience/prebid/static/providers/list',
}
return axios.request(options).then(({ data }: { data: Responses }) => data);
}