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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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);
}
Contextual Audience Details
GET /api/v3/audience/contextual/{audienceId}Get Contextual Audience details by ID.
Path Parameter | |
---|---|
audienceId string | Audience ID |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 a paginated list of audiences with details by desired filters.
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 string | Audience IDs |
owIds string | Organization Workspace IDs |
status string | Audience status ID |
noOfEntries integer | Number of results returned, default: 10 |
sortType string | Default: desc |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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.
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
audienceId: number;
totalSegments: number;
segmentDetailsResponseV0List: {
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 |
- 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 prerequisites
for TypeScript 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 the primary column mapping then this should be true, and false otherwise. Default value: false |
- 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 prerequisites
for TypeScript 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 |
- JSON
- TypeScript
{
"audienceName": "Sample audience name",
"rawS3URL": "s3://sample.url.come"
}
{
"statusCode": 200,
"responseObject": {
"id": 1,
"message": "Your changes have been saved successfully"
}
}
See prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- JSON
- TypeScript
{
"pixelCode": "<script src='https://scripturl.com' async></script>",
"recipients": "user@email.com"
}
{
"statusCode": 200,
"responseObject": {
"message": "e-mail sent successfully"
}
}
See prerequisites
for TypeScript 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 | Frequency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
frequencyType string | Frequency type | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
startDate integer | Unix epoch start date, in milliseconds | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
endDate integer | Unix epoch end date, in milliseconds | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
timeRange object | Time range | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
additionalProp1 array of integers | null |
additionalProp2 array of integers | null |
additionalProp3 array of integers | null |
removedLocationsIds
array of integers
locations
object
locations
object properties
country integer | Country ID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
included object | null | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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 | null | |||||
longitude integer | null | |||||
radius integer | null | |||||
address string | null | |||||
locationId integer | Location ID | |||||
polypath object | Location ID | |||||
|
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 | null | |||||
longitude integer | null | |||||
radius integer | null | |||||
address string | null | |||||
locationId integer | Location ID | |||||
polypath object | Location ID | |||||
|
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"
]
]
},
- 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 prerequisites
for TypeScript 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 | |||||||
campaignDetails object | Campaign details | |||||||
|
impressions array of integers | Campaign IDs |
clicks array of integers | Campaign IDs |
conversions array of integers | Campaign IDs |
- 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 prerequisites
for TypeScript 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.
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 |
- JSON
- TypeScript
{
"equation": "((6388749|6388750)&(6388751|6402730|6392754|5776004))",
"name": "football-temp"
}
{
"success": true,
"data": {
"id": 1063316,
"message": "Audience created successfully"
}
}
See prerequisites
for TypeScript 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 |
- JSON
- TypeScript
{
"equation": "((5613837|5638265)&(5613844))",
"name": "Segment audience - 1"
}
{
"success": true,
"data": {
"message": "Your changes have been saved successfully"
}
}
See prerequisites
for TypeScript 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 |
- JSON
- TypeScript
{
"prebidAudienceName": "string",
"prebidAudienceSegmentIdList": [
0
],
"prebidAudienceProviderId": 0
}
{
"success": true,
"data": {
"id": 1026631,
"message": "Audience created successfully"
}
}
See prerequisites
for TypeScript 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 |
- JSON
- TypeScript
{
"prebidAudienceIdList": [
156,
157
],
"prebidAudienceName": "prebid Aud 1"
}
{
"success": true,
"data": {
"prebidAudienceId": 1023240,
"message": "Your changes have been saved successfully"
}
}
See prerequisites
for TypeScript 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 |
endDate integer | Unix epoch start date, in milliseconds |
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 |
- JSON
- TypeScript
{
"audienceName": "India",
"keywords": "law,act,actions",
"startDate": 1718873084000,
"endDate": 1719305084000,
"frequency": 3,
"urls": ""
}
{
"success": true,
"data": {
"id": 1078146,
"message": "Contextual Audience created successfully"
}
}
See prerequisites
for TypeScript 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": {
advertiserId?: `number`,
dspId?: `number`,
owId?: `number`,
uowId?: `number`,
audienceName: `string`,
keywords?: `string`,
urls?: `string`,
frequency?: `number`,
startDate?: `number`,
endDate?: `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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- JSON
- TypeScript
{
"audienceName": "name_update_check",
"audienceTypeId": 3
}
{
"statusCode": 200,
"responseObject": {
"id": 1,
"message": "Your changes have been saved successfully"
}
}
See prerequisites
for TypeScript 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 |
- JSON
- TypeScript
{
"name": "Sample audience name"
}
{
"success": true,
"data": {
"audienceId": 1,
"message": "Audience created successfully"
}
}
See prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- JSON
- TypeScript
{
"file": "string"
}
{
"success": true,
"data": "Insights-1 pdf email sent successfully."
}
See prerequisites
for TypeScript 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 |
- JSON
- TypeScript
{
"success": true,
"data": "Insights regenerated successfully."
}
See prerequisites
for TypeScript 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 |
- JSON
- TypeScript
{
"customLogoFile": "string"
}
{
"success": true,
"data": {
"insightsReportUrl": "https://domain.com/insights.pdf"
}
}
See prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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
PUT /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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- JSON
- TypeScript
{
"success": true,
"data": {
"healthSystem": 2,
"account": 4,
"accountType": 8,
"npiReach": 25513,
"speciality": 3
}
}
See prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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.
- 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 prerequisites
for TypeScript 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.
- 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 prerequisites
for TypeScript 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.
- 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 prerequisites
for TypeScript 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.
- 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 prerequisites
for TypeScript 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.
- 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 prerequisites
for TypeScript 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.
- 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 prerequisites
for TypeScript 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.
- 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 prerequisites
for TypeScript 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 |
- 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 prerequisites
for TypeScript 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.
- 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 prerequisites
for TypeScript 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.
- 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 prerequisites
for TypeScript 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);
}