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 Workspace ID Header |
Get Geographical Data
Filtering and Pagination
The following filtering and pagination fields can be passed as request parameters for POST endpoints or queried in GET endpoints. The filtering fields ids, segmentIds, and parentSegmendIds will be defined at each endpoint where applicable.
For more information see API Filtering and Pagination.
Filtering and Pagination Fields | |
---|---|
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 entity ID list, entities with provided IDs will be returned first compared to other records |
segmentIds array of integers optional | Entity segment IDs |
parentSegmentIds array of integers optional | Parent segment IDs |
Get Zip Codes and State IDs
POST /api/v3/master/segment/zipGet a list of zip codes with state IDs.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Zip code IDs |
segmentIds array of integers | Zip code IDs |
parentSegmentIds array of integers | State IDs |
zipCodes array of strings | Zip codes |
Response Properties | |
---|---|
id integer | Zip code ID |
name string | Zip code name |
parentId integer | State IDs |
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/stateSorting and Filtering Fields | |
---|---|
ids array of integers | State IDs |
segmentIds array of integers | State IDs |
parentSegmentIds array of integers | Country IDs |
Response Properties | |
---|---|
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-districtSorting and Filtering Fields | |
---|---|
ids array of integers | Senate District IDs |
segmentIds array of integers | Senate District IDs |
parentSegmentIds array of integers | State IDs |
Response Properties | |
---|---|
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-districtSorting and Filtering Fields | |
---|---|
ids array of integers | House District IDs |
segmentIds array of integers | House District IDs |
parentSegmentIds array of integers | State IDs |
Response Properties | |
---|---|
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/genderSorting and Filtering Fields | |
---|---|
ids array of integers | Gender IDs |
segmentIds array of integers | Gender IDs |
Response Properties | |
---|---|
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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Age range IDs |
segmentIds array of integers | Age range IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Language IDs |
segmentIds array of integers | Language IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Interest IDs |
segmentIds array of integers | Interest IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Income range IDs |
segmentIds array of integers | Income range IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Ethnicity IDs |
segmentIds array of integers | Ethnicity IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Ethnicity group IDs |
segmentIds array of integers | Ethnicity group IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | DMA IDs |
segmentIds array of integers | DMA IDs |
parentSegmentIds array of integers | State IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | County IDs |
segmentIds array of integers | County IDs |
parentSegmentIds array of integers | State IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Country IDs |
segmentIds array of integers | Country IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Congressional District IDs |
segmentIds array of integers | Congressional District IDs |
parentSegmentIds array of integers | State IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | City IDs |
segmentIds array of integers | City IDs |
parentSegmentIds array of integers | State IDs |
Response 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.
Response 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 |
countryIds string | Filter results by Country ID |
Response Properties | |
---|---|
locationTypeId array of objects | Results will be returned in name-value pairs of Location Type IDs and an array of objects with the rest of the response properties in this table |
id integer | ID of location as specified by locationTypeId , e.g. for the object array with location type "302", the State location type, this ID will be a State ID |
name string | Location name |
parentId integer | Location 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.
Response 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 |
Response 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 filtering and pagination fields can be passed as query parameters. The filtering fields ids, segmentIds, and parentSegmendIds will be defined at each endpoint where applicable.
For more information see API Filtering and Pagination.
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 entity ID list, entities with provided IDs will be returned first compared to other records |
segmentIds array of integers optional | Filters for entity segment IDs |
Get RTB Creative Types
GET /api/v3/master/rtb-creative-typesGet list of RTB Creative types.
Response 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.
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Skippability IDs |
segmentIds array of integers | Skippability IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Roll position IDs |
segmentIds array of integers | Roll position IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Player size IDs |
segmentIds array of integers | PLayer size IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Playback method IDs |
segmentIds array of integers | Playback method IDs |
Response 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.
Sorting and Filtering Fields | |
---|---|
ids array of integers | Placement type IDs |
segmentIds array of integers | Placement type IDs |
Response 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.
Response 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 |
Response 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 |
Response 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 |
Response 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.
Response 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.
Response 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.
Response 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 |
Response 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.
Response 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 |
Response 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 |
Response 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 |
Response 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);
}