Master API
Overview
The Master API contains static lists of data such as: geographical data, demographic data, Creative type/parameter data, and more.
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 |
Get Geographical Data
Request Schema
POST endpoints use the following request body schema (shown below) to retrieve paginated lists of geographical data based on provided filters:
Request Schema | |
---|---|
pageNo integer required | Page number for the required data, default: 1 |
noOfEntries integer required | The maximum number of returned results per page, default: 300 |
sortBy string optional | Sort the result set by specific field. For ascending use plus(+) sign and for descending use minus(-) sign, default: -id |
searchField string optional | Search the result by provided keyword in the searchField search country records by name |
campaignId integer optional | Country records associated with the provided Campaign will be returned first, prioritized over other country records |
ids array of integers optional | Selected country ID List, countries with provided ids will be returned first compared to other records |
segmentIds array of integers optional | country list filter by country IDs |
Get Zip Codes and State IDs
POST /api/v3/master/segment/zipGet a list of zip codes with state IDs.
Properties | |
---|---|
id integer | Zip code ID |
name string | Zip code name |
parentId integer | State ID |
geojsonUrl string | Json geographical data URL |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 10,
"sortBy": "+id",
"searchField": "",
"segmentIds": [],
"ids": []
}
{
"success": true,
"data": {
"data": [
{
"id": 30501001,
"name": "01001",
"parentId": 30200020,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/zipdata/US/30501001.geojson"
},
{
"id": 30501002,
"name": "01002",
"parentId": 30200020,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/zipdata/US/30501002.geojson"
},
{
"id": 30501003,
"name": "01003",
"parentId": 30200020,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/zipdata/US/30501003.geojson"
},
{
"id": 30501005,
"name": "01005",
"parentId": 30200020,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/zipdata/US/30501005.geojson"
},
{
"id": 30501007,
"name": "01007",
"parentId": 30200020,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/zipdata/US/30501007.geojson"
},
{
"id": 30501008,
"name": "01008",
"parentId": 30200020,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/zipdata/US/30501008.geojson"
},
{
"id": 30501009,
"name": "01009",
"parentId": 30200020,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/zipdata/US/30501009.geojson"
},
{
"id": 30501010,
"name": "01010",
"parentId": 30200020,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/zipdata/US/30501010.geojson"
},
{
"id": 30501011,
"name": "01011",
"parentId": 30200020,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/zipdata/US/30501011.geojson"
},
{
"id": 30501012,
"name": "01012",
"parentId": 30200020,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/zipdata/US/30501012.geojson"
}
],
"totalRecords": 48777,
"filteredRecords": 48777
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
parentId: number;
geojsonUrl: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getMasterSegmentZipCode(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/segment/zip',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
zipCodes?: `array of strings`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get State segment
POST /api/v3/master/segment/stateProperties | |
---|---|
id integer | State ID |
name string | State name |
abbreviation string | State abbreviation |
parentId integer | Country ID |
geojsonUrl string | Json geographical data URL |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 10,
"sortBy": "+id",
"searchField": "",
"segmentIds": [],
"ids": []
}
{
"success": true,
"data": {
"data": [
{
"id": 30200001,
"name": "Alaska",
"abbreviation": "AK",
"parentId": 30100001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/statedata/AK.geojson"
},
{
"id": 30200002,
"name": "Alabama",
"abbreviation": "AL",
"parentId": 30100001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/statedata/AL.geojson"
},
{
"id": 30200003,
"name": "Arkansas",
"abbreviation": "AR",
"parentId": 30100001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/statedata/AR.geojson"
},
{
"id": 30200004,
"name": "Arizona",
"abbreviation": "AZ",
"parentId": 30100001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/statedata/AZ.geojson"
},
{
"id": 30200005,
"name": "California",
"abbreviation": "CA",
"parentId": 30100001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/statedata/CA.geojson"
},
{
"id": 30200006,
"name": "Colorado",
"abbreviation": "CO",
"parentId": 30100001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/statedata/CO.geojson"
},
{
"id": 30200007,
"name": "Connecticut",
"abbreviation": "CT",
"parentId": 30100001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/statedata/CT.geojson"
},
{
"id": 30200008,
"name": "District of Columbia",
"abbreviation": "DC",
"parentId": 30100001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/statedata/DC.geojson"
},
{
"id": 30200009,
"name": "Delaware",
"abbreviation": "DE",
"parentId": 30100001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/statedata/DE.geojson"
},
{
"id": 30200010,
"name": "Florida",
"abbreviation": "FL",
"parentId": 30100001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/statedata/FL.geojson"
}
],
"totalRecords": 4964,
"filteredRecords": 4964
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
abbreviation: string;
parentId: number;
geojsonUrl: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getStatesSegmentDetails(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/segment/state',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Senate District segment
POST /api/v3/master/segment/senate-districtProperties | |
---|---|
id integer | Senate District ID |
name string | Senate District name |
abbreviation string | Senate District abbreviation |
parentId integer | State ID |
geojsonUrl string | Json geographical data URL |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 10,
"sortBy": "+id",
"searchField": "",
"segmentIds": [],
"ids": []
}
{
"success": true,
"data": {
"data": [
{
"id": 30700001,
"name": "Alaska-A",
"abbreviation": "AK-A",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/sd/AK/30700001.geojson"
},
{
"id": 30700002,
"name": "Alaska-B",
"abbreviation": "AK-B",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/sd/AK/30700002.geojson"
},
{
"id": 30700003,
"name": "Alaska-C",
"abbreviation": "AK-C",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/sd/AK/30700003.geojson"
},
{
"id": 30700004,
"name": "Alaska-D",
"abbreviation": "AK-D",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/sd/AK/30700004.geojson"
},
{
"id": 30700005,
"name": "Alaska-E",
"abbreviation": "AK-E",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/sd/AK/30700005.geojson"
},
{
"id": 30700006,
"name": "Alaska-F",
"abbreviation": "AK-F",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/sd/AK/30700006.geojson"
},
{
"id": 30700007,
"name": "Alaska-G",
"abbreviation": "AK-G",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/sd/AK/30700007.geojson"
},
{
"id": 30700008,
"name": "Alaska-H",
"abbreviation": "AK-H",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/sd/AK/30700008.geojson"
},
{
"id": 30700009,
"name": "Alaska-I",
"abbreviation": "AK-I",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/sd/AK/30700009.geojson"
},
{
"id": 30700010,
"name": "Alaska-J",
"abbreviation": "AK-J",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/sd/AK/30700010.geojson"
}
],
"totalRecords": 1950,
"filteredRecords": 1950
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
abbreviation: string;
parentId: number;
geojsonUrl: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getSenateDistrictSegmentDetails(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/segment/senate-district',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get House District segment
POST /api/v3/master/segment/house-districtProperties | |
---|---|
id integer | House District ID |
name string | House District name |
abbreviation string | House District abbreviation |
parentId integer | State ID |
geojsonUrl string | Json geographical data URL |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 10,
"sortBy": "+id",
"searchField": "",
"segmentIds": [],
"ids": []
}
{
"success": true,
"data": {
"data": [
{
"id": 30800073,
"name": "Alaska-1",
"abbreviation": "AK-01",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/hd/AK/30800073.geojson"
},
{
"id": 30800074,
"name": "Alaska-2",
"abbreviation": "AK-02",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/hd/AK/30800074.geojson"
},
{
"id": 30800075,
"name": "Alaska-3",
"abbreviation": "AK-03",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/hd/AK/30800075.geojson"
},
{
"id": 30800076,
"name": "Alaska-4",
"abbreviation": "AK-04",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/hd/AK/30800076.geojson"
},
{
"id": 30800077,
"name": "Alaska-5",
"abbreviation": "AK-05",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/hd/AK/30800077.geojson"
},
{
"id": 30800078,
"name": "Alaska-6",
"abbreviation": "AK-06",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/hd/AK/30800078.geojson"
},
{
"id": 30800079,
"name": "Alaska-7",
"abbreviation": "AK-07",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/hd/AK/30800079.geojson"
},
{
"id": 30800080,
"name": "Alaska-8",
"abbreviation": "AK-08",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/hd/AK/30800080.geojson"
},
{
"id": 30800081,
"name": "Alaska-9",
"abbreviation": "AK-09",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/hd/AK/30800081.geojson"
},
{
"id": 30800082,
"name": "Alaska-10",
"abbreviation": "AK-10",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/hd/AK/30800082.geojson"
}
],
"totalRecords": 4833,
"filteredRecords": 4833
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
abbreviation: string;
parentId: number;
geojsonUrl: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getHouseDistrictSegmentDetails(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/segment/house-district',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Gender segment
POST /api/v3/master/segment/genderProperties | |
---|---|
id integer | Gender ID |
name string | Gender name |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 3,
"sortBy": "+id",
"searchField": "",
"segmentIds": [],
"ids": []
}
{
"success": true,
"data": {
"data": [
{
"id": 10200001,
"name": "Male"
},
{
"id": 10200002,
"name": "Female"
},
{
"id": 10299999,
"name": "Unknown"
}
],
"totalRecords": 3,
"filteredRecords": 3
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
abbreviation: string;
parentId: number;
geojsonUrl: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getGenderSegmentDetails(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/segment/gender',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Age Segment
GET /api/v2/master/segment/ageGet list of age range IDs.
Properties | |
---|---|
id integer | Age range ID |
name string | Age range name |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": {
"data": [
{
"id": 10100001,
"name": "13-17"
},
{
"id": 10100008,
"name": "18-20"
},
{
"id": 10100009,
"name": "21-24"
},
{
"id": 10100003,
"name": "25-34"
},
{
"id": 10100004,
"name": "35-44"
},
{
"id": 10100005,
"name": "45-54"
},
{
"id": 10100006,
"name": "55-64"
},
{
"id": 10100007,
"name": "65+"
},
{
"id": 10199999,
"name": "Unknown"
}
],
"totalRecords": 9,
"filteredRecords": 9
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
statusCode: number;
responseObject: {
data: {
id: number;
name: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getMasterSegmentAge(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/master/segment/age',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Language Segment
GET /api/v2/master/segment/languageGet list of languages.
Properties | |
---|---|
id integer | Language ID |
name string | Language name |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": {
"data": [
{
"id": 10500007,
"name": "Arabic"
},
{
"id": 10500034,
"name": "Chinese"
},
{
"id": 10500048,
"name": "English"
},
{
"id": 10500056,
"name": "French"
},
{
"id": 10500063,
"name": "German"
},
{
"id": 10500098,
"name": "Korean"
},
{
"id": 10500147,
"name": "Russian"
},
{
"id": 10500164,
"name": "Spanish"
},
{
"id": 10500170,
"name": "Tagalog"
},
{
"id": 10500190,
"name": "Vietnamese"
},
{
"id": 10599998,
"name": "Other"
},
{
"id": 10599999,
"name": "Unknown"
}
],
"totalRecords": 12,
"filteredRecords": 12
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
statusCode: number;
responseObject: {
data: {
id: number;
name: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getMasterSegmentLanguage(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/master/segment/language',
params: {
query?: {
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
order?: `string`,
searchField?: `string`,
campaignId?: `number`,
segmentIds?: `string`,
ids?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Interest Segment
GET /api/v2/master/segment/interestGet list of interests.
Properties | |
---|---|
id integer | Interest ID |
name string | Interest name |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": {
"data": [
{
"id": 10800042,
"name": "Musical instruments"
},
{
"id": 10800058,
"name": "Woodworking"
},
{
"id": 10800075,
"name": "Gardening"
},
{
"id": 10800081,
"name": "Hunting"
},
{
"id": 10800096,
"name": "Photography"
},
{
"id": 10800104,
"name": "Shooting"
},
{
"id": 10800180,
"name": "Fishing"
},
{
"id": 10800203,
"name": "Tennis"
},
{
"id": 10801317,
"name": "Crafts "
},
{
"id": 10801341,
"name": "Golf "
}
],
"totalRecords": 58,
"filteredRecords": 10
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
statusCode: number;
responseObject: {
data: {
id: number;
name: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getMasterSegmentInterest(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/master/segment/interest',
params: {
query?: {
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
order?: `string`,
searchField?: `string`,
campaignId?: `number`,
segmentIds?: `string`,
ids?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Income Range Segment
GET /api/v2/master/segment/incomeGet list of income ranges.
Properties | |
---|---|
id integer | Income range ID |
name string | Income range name |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": {
"data": [
{
"id": 10300001,
"name": "Less than $25000"
},
{
"id": 10300002,
"name": "$25001 - $50000"
},
{
"id": 10300003,
"name": "$50001 - $75000"
},
{
"id": 10300004,
"name": "$75001 - $100000"
},
{
"id": 10300005,
"name": "$100001 - $250000"
},
{
"id": 10300006,
"name": "$250000+"
},
{
"id": 10399999,
"name": "Unknown"
}
],
"totalRecords": 7,
"filteredRecords": 7
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
statusCode: number;
responseObject: {
data: {
id: number;
name: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getMasterSegmentIncome(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/master/segment/income',
params: {
query?: {
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
order?: `string`,
searchField?: `string`,
campaignId?: `number`,
segmentIds?: `string`,
ids?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Ethnicity Segment
GET /api/v2/master/segment/ethnicityGet list of ethnicity IDs.
Properties | |
---|---|
id integer | Ethnicity ID |
name string | Ethnicity name |
parentId integer | Country ID |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": {
"data": [
{
"id": 10600001,
"name": "Afghan",
"parentId": 10799998
},
{
"id": 10600002,
"name": "African/American",
"parentId": 10700003
},
{
"id": 10600003,
"name": "Albanian",
"parentId": 10799998
},
{
"id": 10600004,
"name": "Aleut"
},
{
"id": 10600005,
"name": "Algerian"
},
{
"id": 10600006,
"name": "American",
"parentId": 10799998
},
{
"id": 10600007,
"name": "Andorran"
},
{
"id": 10600008,
"name": "Angolan"
},
{
"id": 10600009,
"name": "Antiguans"
},
{
"id": 10600010,
"name": "Arab",
"parentId": 10799998
}
],
"totalRecords": 219,
"filteredRecords": 10
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
statusCode: number;
responseObject: {
data: {
id: number;
name: string;
parentId: number;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getMasterSegmentEthnicity(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/master/segment/ethnicity',
params: {
query?: {
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
order?: `string`,
searchField?: `string`,
campaignId?: `number`,
segmentIds?: `string`,
ids?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Ethnicity Group Segment
GET /api/v2/master/segment/ethnicity-groupGet list of ethnicity group IDs.
Properties | |
---|---|
id integer | Ethnicity group ID |
name string | Ethnicity group name |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": {
"data": [
{
"id": 10700001,
"name": "European"
},
{
"id": 10700002,
"name": "Hispanic"
},
{
"id": 10700003,
"name": "African-American"
},
{
"id": 10700004,
"name": "Asian"
},
{
"id": 10799998,
"name": "Other"
},
{
"id": 10799999,
"name": "Unknown"
}
],
"totalRecords": 6,
"filteredRecords": 6
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
statusCode: number;
responseObject: {
data: {
id: number;
name: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getMasterSegmentEthnicityGroup(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/master/segment/ethnicity-group',
params: {
query?: {
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
order?: `string`,
searchField?: `string`,
campaignId?: `number`,
segmentIds?: `string`,
ids?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get DMA Code Segment
POST /api/v3/master/segment/dmaGet list of Designated Market Area Codes.
Properties | |
---|---|
id integer | DMA ID |
name string | DMA name |
abbreviation string | DMA code |
parentId integer | State ID |
geojsonUrl string | Json geographical data URL |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 10,
"sortBy": "+id",
"searchField": "",
"segmentIds": [],
"ids": []
}
{
"success": true,
"data": {
"data": [
{
"id": 30900001,
"name": "Portland-Auburn, ME",
"abbreviation": "500",
"parentId": 30200022,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/dmadata/geojson/US/ME/500.geojson"
},
{
"id": 30900002,
"name": "New York, NY",
"abbreviation": "501",
"parentId": 30200035,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/dmadata/geojson/US/NY/501.geojson"
},
{
"id": 30900003,
"name": "Binghamton, NY",
"abbreviation": "502",
"parentId": 30200035,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/dmadata/geojson/US/NY/502.geojson"
},
{
"id": 30900004,
"name": "Macon, GA",
"abbreviation": "503",
"parentId": 30200011,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/dmadata/geojson/US/GA/503.geojson"
},
{
"id": 30900005,
"name": "Philadelphia, PA",
"abbreviation": "504",
"parentId": 30200039,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/dmadata/geojson/US/PA/504.geojson"
},
{
"id": 30900006,
"name": "Detroit, MI",
"abbreviation": "505",
"parentId": 30200023,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/dmadata/geojson/US/MI/505.geojson"
},
{
"id": 30900007,
"name": "Boston, MA-Manchester, NH",
"abbreviation": "506",
"parentId": 30200031,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/dmadata/geojson/US/NH/506.geojson"
},
{
"id": 30900008,
"name": "Savannah, GA",
"abbreviation": "507",
"parentId": 30200011,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/dmadata/geojson/US/GA/507.geojson"
},
{
"id": 30900009,
"name": "Pittsburgh, PA",
"abbreviation": "508",
"parentId": 30200039,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/dmadata/geojson/US/PA/508.geojson"
},
{
"id": 30900010,
"name": "Ft. Wayne, IN",
"abbreviation": "509",
"parentId": 30200016,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/dmadata/geojson/US/IN/509.geojson"
}
],
"totalRecords": 210,
"filteredRecords": 210
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
abbreviation: string;
parentId: number;
geojsonUrl: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getDMACodeDetails(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/segment/dma',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get County Segment
POST /api/v3/master/segment/countyGet list of county segment.
Properties | |
---|---|
id integer | County ID |
name string | County name |
parentId integer | State ID |
geojsonUrl string | Json geographical data URL |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 10,
"sortBy": "+id",
"searchField": "",
"segmentIds": [],
"ids": []
}
{
"success": true,
"data": {
"data": [
{
"id": 30300001,
"name": "Aleutians East, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/AK/geojson/30300001.geojson"
},
{
"id": 30300002,
"name": "Aleutians West, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/AK/geojson/30300002.geojson"
},
{
"id": 30300003,
"name": "Anchorage, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/AK/geojson/30300003.geojson"
},
{
"id": 30300004,
"name": "Bethel, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/AK/geojson/30300004.geojson"
},
{
"id": 30300005,
"name": "Bristol Bay, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/AK/geojson/30300005.geojson"
},
{
"id": 30300006,
"name": "Denali, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/AK/geojson/30300006.geojson"
},
{
"id": 30300007,
"name": "Dillingham, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/AK/geojson/30300007.geojson"
},
{
"id": 30300008,
"name": "Fairbanks North Star, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/AK/geojson/30300008.geojson"
},
{
"id": 30300009,
"name": "Haines, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/AK/geojson/30300009.geojson"
},
{
"id": 30300010,
"name": "Hoonah Angoon, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/AK/geojson/30300010.geojson"
}
],
"totalRecords": 3142,
"filteredRecords": 3142
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
parentId: number;
geojsonUrl: string;
}
}
}
};
};
};
function getCountySegmentDetails(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/segment/county',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Country Segment
POST /api/v3/master/segment/countryGet list of country segment.
Properties | |
---|---|
id integer | Country ID |
name string | Country name |
abbreviation integer | Country Abbreviation |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 10,
"sortBy": "+id",
"searchField": "",
"segmentIds": [],
"ids": []
}
{
"success": true,
"data": {
"data": [
{
"id": 30100001,
"name": "United States",
"abbreviation": "US"
},
{
"id": 30100002,
"name": "India",
"abbreviation": "IN"
},
{
"id": 30100011,
"name": "Afghanistan",
"abbreviation": "AF"
},
{
"id": 30100013,
"name": "Albania",
"abbreviation": "AL"
},
{
"id": 30100014,
"name": "Algeria",
"abbreviation": "DZ"
},
{
"id": 30100016,
"name": "Andorra",
"abbreviation": "AD"
},
{
"id": 30100017,
"name": "Angola",
"abbreviation": "AO"
},
{
"id": 30100020,
"name": "Antigua and Barbuda",
"abbreviation": "AG"
},
{
"id": 30100021,
"name": "Argentina",
"abbreviation": "AR"
},
{
"id": 30100022,
"name": "Armenia",
"abbreviation": "AM"
}
],
"totalRecords": 249,
"filteredRecords": 249
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
abbreviation: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getCountrySegmentDetails(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/segment/country',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Congressional District Segment
POST /api/v3/master/segment/congressional-districtGet list of congressional district segment.
Properties | |
---|---|
id integer | County ID |
name string | County name |
abbreviation integer | Country Abbreviation |
parentId integer | State ID |
geojsonUrl string | Json geographical data URL |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 10,
"sortBy": "+id",
"searchField": "",
"segmentIds": [],
"ids": []
}
{
"success": true,
"data": {
"data": [
{
"id": 30600502,
"name": "Alabama-1",
"abbreviation": "AL-1",
"parentId": 30200002,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/cd/AL/30600502.geojson"
},
{
"id": 30600503,
"name": "Alabama-2",
"abbreviation": "AL-2",
"parentId": 30200002,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/cd/AL/30600503.geojson"
},
{
"id": 30600504,
"name": "Alabama-3",
"abbreviation": "AL-3",
"parentId": 30200002,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/cd/AL/30600504.geojson"
},
{
"id": 30600505,
"name": "Alabama-4",
"abbreviation": "AL-4",
"parentId": 30200002,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/cd/AL/30600505.geojson"
},
{
"id": 30600506,
"name": "Alabama-5",
"abbreviation": "AL-5",
"parentId": 30200002,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/cd/AL/30600506.geojson"
},
{
"id": 30600507,
"name": "Alabama-6",
"abbreviation": "AL-6",
"parentId": 30200002,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/cd/AL/30600507.geojson"
},
{
"id": 30600508,
"name": "Alabama-7",
"abbreviation": "AL-7",
"parentId": 30200002,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/cd/AL/30600508.geojson"
},
{
"id": 30601009,
"name": "Arkansas-1",
"abbreviation": "AR-1",
"parentId": 30200003,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/cd/AR/30601009.geojson"
},
{
"id": 30601010,
"name": "Arkansas-2",
"abbreviation": "AR-2",
"parentId": 30200003,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/cd/AR/30601010.geojson"
},
{
"id": 30601011,
"name": "Arkansas-3",
"abbreviation": "AR-3",
"parentId": 30200003,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/districtdata/geojson/cd/AR/30601011.geojson"
}
],
"totalRecords": 429,
"filteredRecords": 429
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
abbreviation: string;
parentId: number;
geojsonUrl: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getCongressionalDistrictSegmentDetails(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/segment/congressional-district',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get City Segment
POST /api/v3/master/segment/cityGet list of city segment.
Properties | |
---|---|
id integer | City ID |
name string | City name |
parentId integer | State ID |
geojsonUrl string | Json geographical data URL |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 10,
"sortBy": "+id",
"searchField": "",
"segmentIds": [],
"ids": []
}
{
"success": true,
"data": {
"data": [
{
"id": 30400001,
"name": "Adak, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/citydata/US/AK/geojson/30400001.geojson"
},
{
"id": 30400002,
"name": "Akhiok, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/citydata/US/AK/geojson/30400002.geojson"
},
{
"id": 30400003,
"name": "Akiachak, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/citydata/US/AK/geojson/30400003.geojson"
},
{
"id": 30400004,
"name": "Akiak, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/citydata/US/AK/geojson/30400004.geojson"
},
{
"id": 30400005,
"name": "Akutan, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/citydata/US/AK/geojson/30400005.geojson"
},
{
"id": 30400006,
"name": "Alakanuk, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/citydata/US/AK/geojson/30400006.geojson"
},
{
"id": 30400007,
"name": "Aleknagik, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/citydata/US/AK/geojson/30400007.geojson"
},
{
"id": 30400008,
"name": "Allakaket, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/citydata/US/AK/geojson/30400008.geojson"
},
{
"id": 30400009,
"name": "Ambler, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/citydata/US/AK/geojson/30400009.geojson"
},
{
"id": 30400010,
"name": "Anaktuvuk Pass, AK",
"parentId": 30200001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/citydata/US/AK/geojson/30400010.geojson"
}
],
"totalRecords": 38130,
"filteredRecords": 38130
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
abbreviation: string;
parentId: number;
geojsonUrl: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getCitySegmentDetails(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/segment/city',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Location Types
GET /api/v3/master/segment/locationtypeGet a list of location types.
Properties | |
---|---|
id integer | Location type ID |
name string | Location type name |
order integer | Order |
- JSON
- TypeScript
{
"success": true,
"data": [
{
"id": 302,
"name": "State",
"order": 1
},
{
"id": 309,
"name": "DMA",
"order": 2
},
{
"id": 303,
"name": "County",
"order": 3
},
{
"id": 304,
"name": "City",
"order": 4
},
{
"id": 306,
"name": "Congressional District",
"order": 5
},
{
"id": 307,
"name": "State Senate",
"order": 6
},
{
"id": 308,
"name": "State House",
"order": 7
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
500: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
};
function getMasterSegmentLocationTypes(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/segment/locationtype',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Location Details by Location Type
GET /api/v3/master/segment/locationtype-detailsGet location details by location type and search filters.
Query Parameters | |
---|---|
searchField string | Search the result by keyword |
locationTypeIds string | Filters result by location type IDs, comma separated |
Properties | |
---|---|
id integer | ID of location as specified by locationTypeId |
name string | Location name |
parentId integer | Parent ID |
geojsonUrl string | Json geographical data URL |
- JSON
- TypeScript
{
"success": true,
"data": {
"302": [
{
"id": 30200038,
"name": "Oregon",
"abbreviation": "OR",
"parentId": 30100001,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/statedata/OR.geojson"
}
],
"303": [
{
"id": 30320708,
"name": "Baker, OR",
"parentId": 30200038,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/OR/geojson/30320708.geojson"
}
{
"id": 30320709,
"name": "Benton, OR",
"parentId": 30200038,
"geojsonUrl": "https://d3jme5si7t6llb.cloudfront.net/countydata/US/OR/geojson/30320709.geojson"
}
...
]
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
[name: string]: {
id: number;
name: string;
abbreviation: string;
parentId: number;
geojsonUrl: string;
}[];
}[];
}
}
};
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
errorObjects: {
error: string;
}[];
}
}
};
}
function getMasterSegmentLocationTypeDetails(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/segment/locationtype-details',
params: {
query?: {
searchField?: `string`,
locationTypeIds?: `string`,
countryIds?: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
More Responses
{
"success": false,
"errorObjects": [
{
"error": "Invalid location type ids"
}
]
}
Get Timezones
GET /api/v3/master/timezonesGet a static list of timezone IDs.
Properties | |
---|---|
name string | Timezone name |
id integer | Timezone ID |
label string | Timezone name |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"name": "US/Central",
"id": 423,
"label": "US/Central"
},
{
"name": "US/Eastern",
"id": 29,
"label": "US/Eastern"
},
{
"name": "US/Mountain",
"id": 21,
"label": "US/Mountain"
}
...
]
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
name: string;
id: number;
label: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getTimezones(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/segment/timezones',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Carriers and States by Country ID
GET /api/countries/{country_id}/carriersGET /api/countries/{country_id}/states
Get a list of carriers or states by country ID.
Path Parameters | |
---|---|
country_id string | Country ID |
Properties | |
---|---|
id integer | Carrier or state ID |
name string | Carrier or state name |
country_id integer | Country ID |
- JSON
- TypeScript
[
{
"id": 292,
"name": "AT&T Mobility",
"country_id": 246
},
{
"id": 293,
"name": "AT&T WiFi",
"country_id": 246
},
{
"id": 294,
"name": "Cable Vision WiFi",
"country_id": 246
},
{
"id": 295,
"name": "Cellular One",
"country_id": 246
},
{
"id": 296,
"name": "Cellular South",
"country_id": 246
},
{
"id": 297,
"name": "Charter WiFi",
"country_id": 246
},
{
"id": 298,
"name": "Cincinnati Bell US",
"country_id": 246
},
{
"id": 299,
"name": "Cox Communications",
"country_id": 246
},
{
"id": 300,
"name": "Cricket",
"country_id": 246
},
{
"id": 301,
"name": "Earthlink",
"country_id": 246
},
...
]
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
id: number;
name: string;
country_id: number;
}[];
};
};
};
function CarriersByCountry(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/countries/{country_id}/carriers',
params: {
path: {
country_id: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
interface Responses {
200: {
content: {
"application/json": {
name: string;
id: number;
country_id: number;
abbreviation: string;
is_active: number;
is_territory: number;
state_code: string;
tblm_iqm_segment_id: number;
}[];
};
};
};
function StatesByCountry(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/countries/{country_id}/states',
params: {
path: {
country_id: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Creative Data
The following endpoints can be used to get details and specs on various Creative properties and lists. Most support paginated query parameters:
Query Parameters | |
---|---|
pageNo integer required | Page number for the required data, default: 1 |
limit integer required | The maximum number of returned results per page, default: 300 |
sortBy string optional | Sort the result set by specific field. For ascending use plus(+) sign and for descending use minus(-) sign, default: +id |
searchField string optional | Search the result by provided keyword in the searchField, search country records by name |
ids array of integers optional | Selected country ID List, countries with provided ids will be returned first compared to other records |
segmentIds array of integers optional | Filters for property segment IDs |
Get Creative Types
GET /api/v3/master/static/creative-typesGet a list of Creative types.
Properties | |
---|---|
name string | Creative type name |
rtbCampaignTypeId integer | RTB Campaign Type ID |
id integer | Creative type ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"name": "Image",
"rtbCampaignTypeId": 1,
"id": 11
},
{
"name": "HTML",
"rtbCampaignTypeId": 1,
"id": 13
},
{
"name": "Video",
"rtbCampaignTypeId": 3,
"id": 14
},
{
"name": "Native",
"rtbCampaignTypeId": 4,
"id": 15
},
{
"name": "Audio",
"rtbCampaignTypeId": 2,
"id": 17
}
],
"totalRecords": 5,
"filteredRecords": 5
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
name: string;
rtbCampaignTypeId: number;
id: number;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getCreativeTypes(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/static/creative-types',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get RTB Creative Types
GET /api/v3/master/rtb-creative-typesGet list of RTB Creative types.
Properties | |
---|---|
name string | RTB Creative type name |
id integer | RTB Creative type ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"name": "Banner",
"id": 1
},
{
"name": "Audio",
"id": 2
},
{
"name": "Video",
"id": 3
},
{
"name": "Native",
"id": 4
}
],
"totalRecords": 4,
"filteredRecords": 4
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
name: string;
id: number;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getCreativeRTBTypes(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/rtb-creative-types',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Creative sizes
GET /api/v3/master/creative-sizesGet list of Creative sizes.
Properties | |
---|---|
standardDimensions string | Dimensions in pixels |
creativeDurations string | Video/audio duration in seconds |
videoPlayerSizes string | Video sizes |
name string | Creative size name |
id integer | Creative Size ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"standardDimensions": [
{
"name": "320x50",
"id": 1
},
{
"name": "300x250",
"id": 2
},
{
"name": "728x90",
"id": 3
},
...
],
"creativeDurations": [
{
"name": "Below 15s",
"id": 1
},
{
"name": "Up to 15s",
"id": 2
},
{
"name": "Up to 30s",
"id": 3
},
...
],
"videoPlayerSizes": [
{
"name": "Small",
"id": 1
},
{
"name": "Large",
"id": 3
},
{
"name": "HD",
"id": 4
}
]
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
standardDimensions: {
name: string;
id: number;
}[];
creativeDurations: {
name: string;
id: number;
}[];
videoPlayerSizes: {
name: string;
id: number;
}[];
}
}
};
};
};
function getCreativeSizes(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/creative-sizes',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Video Skip Parameters
GET /api/v3/master/ccreative/video/skippabilityGet list of video skippability parameters.
Properties | |
---|---|
name string | Video skippability name |
id integer | Video skippability ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"id": 20900001,
"name": "Skippable"
},
{
"id": 20900002,
"name": "Non-Skippable"
},
{
"id": 20999999,
"name": "Unknown"
}
],
"totalRecords": 3,
"filteredRecords": 3
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
}[];
}
}
};
};
};
function getVideoTargetingSkippability(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/creative/video/skippability',
params: {
query?: {
pageNo?: `number`,
limit?: `number`,
sortBy?: `string`,
searchField?: `string`,
ids?: `string`,
segmentIds?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Video Roll Position Parameters
GET /api/v3/master/creative/video/roll-positionGet list of video roll position parameters.
Properties | |
---|---|
name string | Video roll position name |
id integer | Video roll position ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"id": 20700001,
"name": "Pre-Roll"
},
{
"id": 20700002,
"name": "Mid-Roll"
},
{
"id": 20700003,
"name": "Post-Roll"
},
{
"id": 20799999,
"name": "Unknown"
}
],
"totalRecords": 4,
"filteredRecords": 4
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getVideoTargetingRollPosition(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/creative/video/roll-position',
params: {
query?: {
pageNo?: `number`,
limit?: `number`,
sortBy?: `string`,
searchField?: `string`,
ids?: `string`,
segmentIds?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Video Player Size Parameters
GET /api/v3/master/creative/video/player-sizeGet list of video player size parameters.
Properties | |
---|---|
name string | Video player size name |
id integer | Video player size ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"id": 20800001,
"name": "Medium & Big"
},
{
"id": 20800002,
"name": "Small"
},
{
"id": 20899999,
"name": "Unknown"
}
],
"totalRecords": 3,
"filteredRecords": 3
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getVideoTargetingPlayerSize(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/creative/video/player-size',
params: {
query?: {
pageNo?: `number`,
limit?: `number`,
sortBy?: `string`,
searchField?: `string`,
ids?: `string`,
segmentIds?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Video Playback Method Parameters
GET /api/v3/master/creative/video/playback-methodGet list of video playback method parameters.
Properties | |
---|---|
name string | Video playback method name |
id integer | Video playback method ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"id": 21000001,
"name": "Sound On"
},
{
"id": 21000002,
"name": "Mute"
},
{
"id": 21099999,
"name": "Unknown"
}
],
"totalRecords": 3,
"filteredRecords": 3
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getVideoTargetingPlaybackMethod(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/creative/video/playback-method',
params: {
query?: {
pageNo?: `number`,
limit?: `number`,
sortBy?: `string`,
searchField?: `string`,
ids?: `string`,
segmentIds?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Video Placement Type Parameters
GET /api/v3/master/creative/video/placement-typeGet a list of video placement type parameters.
Properties | |
---|---|
name string | Video placement type name |
id integer | Video placement type ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"id": 20600001,
"name": "In-Stream"
},
{
"id": 20600002,
"name": "Out-Stream"
},
{
"id": 20699999,
"name": "Unknown"
}
],
"totalRecords": 3,
"filteredRecords": 3
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getVideoTargetingPlacementTypes(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/creative/video/placement-type',
params: {
query?: {
pageNo?: `number`,
limit?: `number`,
sortBy?: `string`,
searchField?: `string`,
ids?: `string`,
segmentIds?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get More Data
Get Network Types for targeting
GET /api/network_typesGet list of network types for targeting.
Properties | |
---|---|
name string | Network type name |
id integer | Network type ID |
- JSON
- TypeScript
[
{
"name": "Mobile",
"id": 13
},
{
"name": "WIFI",
"id": 12
}
]
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
name: string;
id: number;
}[];
};
};
};
function NetworkTypes(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/network_types',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Device OS for targeting
GET /api/device_osGET /api/v2/master/segment/device-os
Get list of device OS for targeting.
The following query paramters are supported by the /device-os endpoint.
Query Parameters | |
---|---|
pageNo integer | Page number for the required data, default: 1 |
noOfEntries integer | The maximum number of returned results per page, default: 20 |
sortBy string | Sort the result set by specific field. For ascending use plus(+) sign and for descending use minus(-) sign, default: +id |
order string | Sort by ascending (asc) or descending (desc) |
searchField string | Search the result by provided keyword in the searchField, search country records by name |
ids array of integers | Selected segment ID List, segments with provided IDs will be returned first compared to other records |
segmentIds array of integers | Filters for property segment IDs |
campaignId integer | Segment list by Campaign ID |
Properties | |
---|---|
name string | Device OS name |
id integer | Device OS ID |
- JSON
- TypeScript
[
{
"name": "Android",
"id": 11
},
{
"name": "iOS",
"id": 12
},
{
"name": "Windows",
"id": 13
},
{
"name": "BlackBerry",
"id": 14
},
{
"name": "Roku",
"id": 15
},
{
"name": "IPTV",
"id": 16
},
{
"name": "Desktop",
"id": 17
}
]
{
"statusCode": 200,
"responseObject": {
"data": [
{
"id": 20200001,
"name": "Android"
},
{
"id": 20200002,
"name": "Chrome OS"
},
{
"id": 20200003,
"name": "Fire OS"
},
{
"id": 20200004,
"name": "FreeBSD"
},
{
"id": 20200005,
"name": "KaiOS"
},
{
"id": 20200006,
"name": "LG proprietary"
},
{
"id": 20200007,
"name": "Linux"
},
{
"id": 20200008,
"name": "Nintendo Wii"
},
{
"id": 20200009,
"name": "OS X"
},
{
"id": 20200010,
"name": "PlayStation 3 OS"
},
],
"totalRecords": 28,
"filteredRecords": 10
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
name: string;
id: number;
}[];
};
};
};
function Device-OS(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/device_os',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
interface Responses {
200: {
content: {
"application/json": {
name: string;
id: number;
}[];
};
};
};
function getMasterSegmentOS(): Promise < Responses > {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/master/segment/device-os',
params: {
query?: {
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
order?: `string`,
searchField?: `string`,
segmentIds?: `string`,
ids?: `string`,
campaignId?: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Manufacturers for Targeting
GET /api/v2/master/segment/device-manufacturerGet list of manufacturers for targeting.
Query Parameters | |
---|---|
pageNo integer required | Page number for the required data, default: 1 |
noOfEntries integer required | The maximum number of returned results per page, default: 20 |
sortBy string | Sort the result set by specific field. For ascending use plus(+) sign and for descending use minus(-) sign, default: +id |
order string | Sort by ascending (asc) or descending (desc) |
searchField string | Search the result by provided keyword in the searchField, search country records by name |
ids array of integers | Selected segment ID List, segments with provided IDs will be returned first compared to other records |
segmentIds array of integers | Filters for property segment IDs |
campaignId integer | Segment list by Campaign ID |
Properties | |
---|---|
name string | Manufacturer name |
id integer | Manufacturer ID |
- JSON
- TypeScript
{
"statusCode": 200,
"responseObject": {
"data": [
{
"id": 20100001,
"name": "AT&T"
},
{
"id": 20100002,
"name": "Alcatel"
},
{
"id": 20100003,
"name": "Amazon"
},
{
"id": 20100004,
"name": "Apple"
},
{
"id": 20100005,
"name": "Asus"
},
{
"id": 20100006,
"name": "BLU"
},
{
"id": 20100007,
"name": "Barnes and Noble"
},
{
"id": 20100008,
"name": "BlackBerry"
},
{
"id": 20100009,
"name": "Canonical"
},
{
"id": 20100010,
"name": "Comcast"
}
],
"totalRecords": 535,
"filteredRecords": 535
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
statusCode: number;
responseObject: {
data: {
id: number;
name: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getMasterSegmentDeviceManufacture(): Promise < Responses > {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/master/device-manufacturer',
params: {
query?: {
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
order?: `string`,
searchField?: `string`,
segmentIds?: `string`,
ids?: `string`,
campaignId?: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Channels for Inventory
GET /api/v3/master/segment/channelGet list of channels for Inventory app.
Query Parameters | |
---|---|
pageNo integer required | Page number for the required data, default: 1 |
limit integer required | The maximum number of returned results per page, default: 20 |
sortBy string | Sort the result set by specific field. For ascending use plus(+) sign and for descending use minus(-) sign, default: +id |
order string | Sort by ascending (asc) or descending (desc) |
searchField string | Search the result by provided keyword in the searchField, search country records by name |
ids array of integers | Selected segment ID List, segments with provided IDs will be returned first compared to other records |
segmentIds array of integers | Filters for property segment IDs |
Properties | |
---|---|
name string | Inventory channel name |
id integer | Inventory channel ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"id": 21100001,
"name": "App"
},
{
"id": 21100002,
"name": "OTT App"
},
{
"id": 21100003,
"name": "Web"
}
],
"totalRecords": 3,
"filteredRecords": 3
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
};
function getMasterSegmentChannel(): Promise < Responses > {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/segment/channel',
params: {
query?: {
pageNo?: `number`,
limit?: `number`,
sortBy?: `string`,
searchField?: `string`,
segmentIds?: `string`,
ids?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get verticals
GET /api/v3/master/verticals/listGet list of verticals values.
Properties | |
---|---|
name string | Vertical name |
id integer | Vertical ID |
label string | Vertical lable |
order integer | Vertical order |
- JSON
- TypeScript
{
"success": true,
"data": {
"verticalsList": [
{
"name": "political",
"id": 1,
"label": "Political",
"order": 1
},
{
"name": "healthcare",
"id": 2,
"label": "Healthcare",
"order": 2
},
{
"name": "travel",
"id": 3,
"label": "Travel",
"order": 3
},
{
"name": "retail",
"id": 4,
"label": "Retail",
"order": 4
},
{
"name": "b2b",
"id": 5,
"label": "B2B",
"order": 5
},
{
"name": "finance",
"id": 6,
"label": "Finance",
"order": 6
},
{
"name": "sensitive",
"id": 7,
"label": "Sensitive",
"order": 7
},
{
"name": "other",
"id": 8,
"label": "Other",
"order": 8
}
]
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
verticalsList: {
name: string;
id: number;
label: string;
order: number;
}[];
}
}
};
};
};
function getVerticalsList(): Promise < Responses > {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/verticals/list',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Traffic Types
GET /api/v3/master/traffic-typesGet list of traffic types.
Properties | |
---|---|
name string | Traffic name |
id integer | Traffic ID |
isTvAd boolean | Specifies if Campaign is TV ad: true |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"id": 11,
"name": "App",
"isTvAd": false
},
{
"id": 14,
"name": "CTV",
"isTvAd": true
},
{
"id": 13,
"name": "OTT",
"isTvAd": true
},
{
"id": 12,
"name": "Web",
"isTvAd": false
}
],
"totalRecords": 4,
"filteredRecords": 4
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
name: string;
isTvAd: boolean;
id: number;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getTrafficTypes(): Promise < Responses > {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/traffic-types',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Inventory Types
GET /api/v3/master/inventory-typesGet list of Inventory types.
Properties | |
---|---|
name string | Inventory type name |
id integer | Inventory type ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"name": "Site",
"id": 1
},
{
"name": "Android App",
"id": 2
},
{
"name": "IOS App",
"id": 3
},
{
"name": "Other App",
"id": 99
}
],
"totalRecords": 4,
"filteredRecords": 4
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
content: {
"application/json": {
success: boolean;
data: {
data: {
name: string;
id: number;
}[];
}
};
};
};
};
function GetInventoryTypes(): Promise < Responses > {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/inventory-types',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Exchanges
GET /api/v3/master/exchangesGet list of exchanges.
Query Parameters | |
---|---|
pageNo integer | Page number for the required data, default: 1 |
noOfEntries integer | The maximum number of returned results per page, default: 20 |
sortBy string | Sort the result set by specific field. For ascending use plus(+) sign and for descending use minus(-) sign, default: +id |
order string | Sort by ascending (asc) or descending (desc) |
searchField string | Search the result by provided keyword in the searchField, search country records by name |
ids array of integers | Selected segment ID List, segments with provided IDs will be returned first compared to other records |
exchangeIds array of integers | Filters for exchange IDs |
Properties | |
---|---|
name string | Exchange name |
id integer | Exchange ID |
urlName string | URL name |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"id": 90,
"name": "Aniview",
"urlName": "aniview"
},
{
"id": 89,
"name": "LoopMe",
"urlName": "loopme"
},
{
"id": 88,
"name": "One Tag",
"urlName": "onetag"
},
{
"id": 87,
"name": "Share Through",
"urlName": "sharethrough"
},
{
"id": 84,
"name": "Vidazoo",
"urlName": "vidazoo"
},
{
"id": 80,
"name": "Equativ",
"urlName": "equativ"
},
{
"id": 78,
"name": "Magnite",
"urlName": "magnite"
},
{
"id": 77,
"name": "Verve",
"urlName": "verve"
},
{
"id": 76,
"name": "Infolink",
"urlName": "infolink"
},
{
"id": 75,
"name": "Beachfront",
"urlName": "beachfront"
},
],
"totalRecords": 26,
"filteredRecords": 10
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
urlName: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getExchanges(): Promise < Responses > {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/exchanges',
params: {
query?: {
exchangeIds?: `string`,
ids?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
order?: `string`,
searchField?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Deal Curation Types
GET api/v3/master/deal-curation-typeGet list of deal curation types.
Properties | |
---|---|
name string | Deal curation type name |
id integer | Deal curation type ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"name": "Standard",
"id": 4
},
{
"name": "Tailored",
"id": 5
},
{
"name": "Open Exchange",
"id": 6
}
],
"totalRecords": 3,
"filteredRecords": 3
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
name: string;
id: number;
}[];
totalRecords: number;
filteredRecords: number;
}
}
}
};
}
function getDealCurationTypes(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/master/deal-curation-type',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Publisher Ad categories
POST /api/v3/master/adcategoriesGet list of publisher ad categories.
Request Schema | |
---|---|
pageNo integer required | Page number for returned data, default: 1 |
noOfEntries integer required | Maximum number of returned results per page |
sortBy string optional | Sort the results by specific field. For ascending use plus(+) and for descending use minus(-) sign. Default value: -id |
searchField string optional | Search the result by provided keyword |
ids array of integers optional | Filter for specified IDs, matches will be returned first compared to other records |
adCategoryIds array of integers | Filter for ad category IDs |
Properties | |
---|---|
name string | Publisher ad category name |
id integer | Publisher ad category ID |
parentId integer | Parent publisher ad category ID |
iabCategoryId string | IAB Category ID |
parentName string | Parent publisher ad category name |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"id": 12,
"name": "Books & Literature (IAB1-1)",
"parentId": 11,
"iabCategoryId": "IAB1-1",
"parentName": "Arts & Entertainment"
},
{
"id": 13,
"name": "Celebrity Fan/Gossip (IAB1-2)",
"parentId": 11,
"iabCategoryId": "IAB1-2",
"parentName": "Arts & Entertainment"
},
{
"id": 14,
"name": "Fine Art (IAB1-3)",
"parentId": 11,
"iabCategoryId": "IAB1-3",
"parentName": "Arts & Entertainment"
},
{
"id": 15,
"name": "Humor (IAB1-4)",
"parentId": 11,
"iabCategoryId": "IAB1-4",
"parentName": "Arts & Entertainment"
},
{
"id": 16,
"name": "Movies (IAB1-5)",
"parentId": 11,
"iabCategoryId": "IAB1-5",
"parentName": "Arts & Entertainment"
},
{
"id": 17,
"name": "Music (IAB1-6)",
"parentId": 11,
"iabCategoryId": "IAB1-6",
"parentName": "Arts & Entertainment"
},
{
"id": 18,
"name": "Television (IAB1-7)",
"parentId": 11,
"iabCategoryId": "IAB1-7",
"parentName": "Arts & Entertainment"
},
{
"id": 20,
"name": "Auto Parts (IAB2-1)",
"parentId": 19,
"iabCategoryId": "IAB2-1",
"parentName": "Automotive"
},
{
"id": 21,
"name": "Auto Repair (IAB2-2)",
"parentId": 19,
"iabCategoryId": "IAB2-2",
"parentName": "Automotive"
},
{
"id": 22,
"name": "Buying/Selling Cars (IAB2-3)",
"parentId": 19,
"iabCategoryId": "IAB2-3",
"parentName": "Automotive"
}
],
"totalRecords": 364,
"filteredRecords": 364
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
name: string;
iabCategoryId: string;
parentName: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getPublisherAdCategoriesDetails(): Promise < Responses > {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/adcategories',
requestBody: {
content: {
"application/json": {
sortByFields?: {
[key: `string`]: `string`,
},
adCategoryIds?: `array of numbers`,
ids?: `array of numbers`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Device Type
POST /api/v3/master/segment/device-typeGet list of device types.
Request Schema | |
---|---|
pageNo integer required | Page number for returned data, default: 1 |
noOfEntries integer required | Maximum number of returned results per page |
sortBy string optional | Sort the results by specific field. For ascending use plus(+) and for descending use minus(-) sign. Default value: -id |
searchField string optional | Search the result by provided keyword |
ids array of integers optional | Filter for specified IDs, matches will be returned first compared to other records |
segmentIds array of integers | Filters by device type IDs |
Properties | |
---|---|
name string | Device type name |
id integer | Device type ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"name": "Mobile",
"id": 20300001
},
{
"name": "Desktop",
"id": 20300002
},
{
"name": "Connected TV",
"id": 20300003
},
{
"name": "Tablet",
"id": 20300004
},
{
"name": "Unknown",
"id": 20399999
}
],
"totalRecords": 5,
"filteredRecords": 5
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
name: string;
id: number;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getDeviceSegmentType(): Promise < Responses > {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/segment/device-type',
requestBody: {
content: {
"application/json": {
segmentIds?: `array of numbers`,
parentSegmentIds?: `array of numbers`,
ids?: `array of numbers`,
campaignId?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Inventory
POST /api/v3/master/inventoryGet master Inventory list.
Request Schema | |
---|---|
pageNo integer required | Page number for returned data, default: 1 |
noOfEntries integer required | Maximum number of returned results per page |
sortBy string optional | Sort the results by specific field. For ascending use plus(+) and for descending use minus(-) sign. Default value: -id |
searchField string optional | Search the result by provided keyword |
ids array of integers optional | Filter for specified IDs, matches will be returned first compared to other records |
publisherIds array of integers | Filters for publisher IDs |
inventoryIds array of integers | Filters for Inventory IDs |
Properties | |
---|---|
id integer | Inventory ID |
publisherId integer | Publisher ID |
trafficType string | Traffic type name |
name string | Inventory name |
bundleDomain string | Bundle domain name |
- JSON
- TypeScript
{
"success": true,
"data": {
"data": [
{
"id": 0,
"publisherId": 0,
"trafficType": "UN",
"name": "UNKNOWN",
"bundleDomain": ""
},
{
"id": 1,
"publisherId": 1,
"trafficType": "web",
"name": "1.philantropy.xyz",
"bundleDomain": "1.philantropy.xyz"
},
{
"id": 2,
"publisherId": 2,
"trafficType": "web",
"name": "1010wins.radio.com",
"bundleDomain": "1010wins.radio.com"
},
{
"id": 3,
"publisherId": 3,
"trafficType": "web",
"name": "10faq.com",
"bundleDomain": "10faq.com"
},
{
"id": 4,
"publisherId": 4,
"trafficType": "web",
"name": "11alive.com",
"bundleDomain": "11alive.com"
},
{
"id": 5,
"publisherId": 5,
"trafficType": "web",
"name": "123greetings.com",
"bundleDomain": "123greetings.com"
},
{
"id": 6,
"publisherId": 6,
"trafficType": "web",
"name": "12tomatoes.com",
"bundleDomain": "12tomatoes.com"
},
{
"id": 7,
"publisherId": 7,
"trafficType": "web",
"name": "13wham.com",
"bundleDomain": "13wham.com"
},
{
"id": 8,
"publisherId": 8,
"trafficType": "web",
"name": "1stkissmanga.com",
"bundleDomain": "1stkissmanga.com"
},
{
"id": 9,
"publisherId": 9,
"trafficType": "web",
"name": "247freecell.com",
"bundleDomain": "247freecell.com"
}
],
"totalRecords": 7962640,
"filteredRecords": 7962640
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
data: {
id: number;
publisherId: number;
trafficType: string;
name: string;
bundleDomain: string;
}[];
totalRecords: number;
filteredRecords: number;
}
}
};
};
};
function getInventoryDetails(): Promise < Responses > {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/master/inventory',
requestBody: {
content: {
"application/json": {
inventoryIds?: `array of numbers`,
publisherIds?: `array of numbers`,
ids?: `array of numbers`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: [ "asc" | "desc" ]
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}