Creative API
Overview
The Creative API allows you to upload images, videos, audio, or HTML files to the Creative library. You can also get Creative details and manage Creatives, Creative groups and associated Conversions. This page covers the common endpoints and methods associated with the Creative API.
File requirements for Creative file:
- 2MB for JPG, JPEG, PNG
- 750KB for GIF
- 400MB for MOV, MP4
- 100MB for MP3, WAV, OGG, MPEG
For more information on VAST and DAAST XML format specifications, please see IAB Tech Lab's Documentation.
Sample CSV file: https://app.iqm.com/creatives/example-files/sample_html_creatives.csv
Learn more about Creatives with our Help Center articles.
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 |
Creative Details
Creative Details by ID
GET /api/v3/crt/creatives/{creativeId}Get Creative details by ID.
Path Parameters | |
---|---|
creativeId integer | Creative ID |
Response Properties
creativeId integer | Creative ID | |||||||||||
creativeName string | Creative name | |||||||||||
rtbCreativeTypeId integer | RTB Creative Type ID | |||||||||||
platformCreativeTypeId integer | Platform Creative Type ID | |||||||||||
creativeStatusId integer | Creative Status ID | |||||||||||
creativeSource string | Creative source | |||||||||||
creativeCardSource string | Creative card source | |||||||||||
clickUrl string | Click URL | |||||||||||
imageDetails object | Image details | |||||||||||
|
pixelUrl string | Pixel URL |
creativeWidth integer | Creative width (px) |
creativeHeight integer | Creative height (px) |
creativeSourceType
string
Supported values: file, HTML, vast-xml
creativePreviewFlag
integer
createdAt
integer
modifiedAt
string
userDetails
object
userDetails
object properties
uowId integer | User Organization Workspace ID |
userName string | User name |
userEmail string | User email |
hasApprovalAccess boolean | Indicates if user has access to approve |
hasEditAccess boolean | Indicates if user has edit access for the requested resources |
organizationDetails
object
organizationDetails
object properties
owId integer | Organization Workspace ID |
organizationName string | Organization name |
- JSON
- TypeScript
{
"success": true,
"data": {
"creativeId": 686855,
"creativeName": "300x600-w23-01",
"rtbCreativeTypeId": 1,
"platformCreativeTypeId": 11,
"creativeStatusId": 2,
"creativeSource": "https://d3jme5si7t6llb.cloudfront.net/image/202760/efk0sUk_1730201855013.jpg",
"creativeCardSource": "https://d3jme5si7t6llb.cloudfront.net/Screenshots/202760/278x220/efk0sUk_1730201855013.jpg",
"clickUrl": "http://iqm.com",
"imageDetails": {
"pixelUrl": "http://pixel.com",
"creativeWidth": 300,
"creativeHeight": 600
},
"creativeSourceType": "file",
"creativePreviewFlag": 1,
"createdAt": 1730201855165,
"modifiedAt": "2024-10-29T06:10:15.000+00:00",
"userDetails": {
"uowId": 175891,
"userName": "Hardik",
"userEmail": "hardik.v+iqmsuper@iqm.com",
"hasApprovalAccess": true,
"hasEditAccess": true
},
"organizationDetails": {
"owId": 202760,
"organizationName": "AdWing"
}
}
}
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: {
creativeId: number;
creativeName: string;
rtbCreativeTypeId: number;
platformCreativeTypeId: number;
creativeStatusId: number;
creativeSource: string;
creativeCardSource: string;
clickUrl: string;
imageDetails: {
pixelUrl: string;
creativeWidth: number;
creativeHeight: number;
};
creativeSourceType: string;
creativePreviewFlag: number;
createdAt: number;
modifiedAt: number;
userDetails: {
uowId: number;
userName: string;
userEmail: string;
hasApprovalAccess: boolean;
hasEditAccess: boolean;
};
organizationDetails: {
owId: number;
organizationName: string
}
}
};
};
};
}
function getCreative(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/crt/creatives/{creativeId}',
params: {
path: {
creativeId: `number`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get List of Creatives and Details
POST /api/v3/crt/creatives/listGet a list of Creatives with their details.
Request Schema | |
---|---|
pageNo integer | Number of pages for retrieved data |
noOfEntries integer | Maximum number of entries per page |
sortBy string | Sorts by ascending (+) or descending (-) |
searchField string | Search results by keyword |
platformCreativeTypeIds array of integers | Creative Type IDs |
creativeStatusIds array of integers | Creative Status IDs |
creativeIds array of integers | Creative IDs |
creativeGroupId integer | Creative group ID |
campaignIds array of integers | Campaign IDs |
startTime integer | Unix epoch timestamp (in milliseconds) of start time |
endTime integer | Unix epoch timestamp (in milliseconds) of end time |
owIds integer | (Super/Workspace only) Organization Workspace IDs |
allOwIds boolean | (Super/Workspace only) Filters records with all allowed OW IDs if true, prioritizes records over owIds |
includeCreativeSourceDetails boolean | (Advertiser only) Flag indicating whether to include Creative source details (true) or not (false) |
includeOrgnizationDetails boolean | Flag indicating whether to include Organization details (true) or not (false) |
includeUserDetails boolean | Flag indicating whether to include user details (true) or not (false) |
Response Properties
creativeId integer | Creative ID | |||
creativeName string | Creative name | |||
platformCreativeTypeId integer | Platform Creative Type ID | |||
creativeStatusId integer | Creative Status ID | |||
creativeSourceType string | Creative source type Supported values: file, HTML, vast-xml | |||
creativePreviewFlag integer | Indicates if a Creative has a thumbnail/preview available for users or systems before finalization: true | |||
creativeCardSource string | Creative card source | |||
createdAt integer | Unix epoch timestamp of Campaign creation date, in milliseconds | |||
modifiedAt string | Last modified date | |||
clickUrl string | Click URL | |||
pixelUrl string | Pixel URL | |||
creativeWidth integer | Creative width (px) | |||
creativeHeight integer | Creative height (px) | |||
subMediaType integer | Subcategory of media type | |||
approvalRequiredPostUrlUpdate boolean | Indicates that an update to a Creative's port or URL requires approvel: true | |||
campaignDetails object | Campaign details | |||
|
campaignIds array of integer | Campaign IDs |
userDetails
object
userDetails
object properties
uowId integer | User Organization Workspace ID |
organizationDetails
object
organizationDetails
object properties
owId integer | Organization Workspace ID |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 2,
"sortBy": "-creativeId",
"searchField": "creative",
"platformCreativeTypeIds": [
11,
13,
14,
15,
17
],
"creativeStatusIds": [
1,
2,
3,
4
],
"creativeIds": [
130141,
130142
],
"creativeGroupId": null,
"campaignIds": [
20141
],
"startTime": 1734998399000,
"endTime": 1735206867000,
"includeCreativeSourceDetails": true,
"includeOrganizationDetails": false,
"includeUserDetails": false
}
{
"success": true,
"data": {
"totalRecords": 120,
"filteredRecords": 2,
"filteredList": [
{
"creativeId": 130141,
"creativeName": "Creative 1",
"platformCreativeTypeId": 11,
"creativeStatusId": 2,
"creativePreviewFlag": 1,
"creativeSourceType": "file",
"creativeSource": "https://cdn-cfy-p0.iqm.com/image/457/3W8FRdl_1671813949060.gif",
"creativeThumbnailSource": "https://d3jme5si7t6llb.cloudfront.net/Screenshots/201353/136x82/3W8FRdl_1671813949060.gif",
"creativeCardSource": "https://d3jme5si7t6llb.cloudfront.net/Screenshots/201353/278x220/3W8FRdl_1671813949060.gif",
"createdAt": 1671813949233,
"modifiedAt": 1671819653000,
"clickUrl": "https://example.com/id=130141",
"creativeHeight": 50,
"creativeWidth": 320,
"campaignDetails": {
"campaignIds": [
20141
]
},
"userDetails": {
"uowId": 981
},
"organizationDetails": {
"owId": 201353
}
},
{
"creativeId": 130142,
"creativeName": "Creative 2",
"platformCreativeTypeId": 14,
"creativeStatusId": 2,
"creativePreviewFlag": 1,
"creativeSourceType": "file",
"creativeSource": "<VAST xmlns="http://www.iab.com/VAST" version="4.0"> <Ad conditionalAd="false" id="{IAA_CREATIVE_ID}" sequence="1"> <InLine> <AdSystem version="4.0">4.0</AdSystem> <Impression id="Impression-ID"> <![CDATA[http://example.com/track/impression]]> </Impression> </InLine> </Ad> </VAST>",
"creativeThumbnailSource": "https://d3jme5si7t6llb.cloudfront.net/Screenshots/201353/136x82/EQ4SWN1_1671813949262.png",
"creativeCardSource": "https://d3jme5si7t6llb.cloudfront.net/Screenshots/201353/278x220/EQ4SWN1_1671813949262.png",
"createdAt": 1671813949351,
"modifiedAt": 1671819653000,
"clickUrl": "https://example.com/id=130142",
"duration": 16,
"campaignDetails": {
"campaignIds": [
20141
]
},
"userDetails": {
"uowId": 981
},
"organizationDetails": {
"owId": 201353
}
}
]
}
}
{
"success": true,
"data": {
"totalRecords": 120,
"filteredRecords": 2,
"filteredList": [
{
"creativeId": 130141,
"creativeName": "Creative 1",
"platformCreativeTypeId": 11,
"creativeStatusId": 2,
"creativePreviewFlag": 1,
"creativeSourceType": "file",
"creativeThumbnailSource": "https://d3jme5si7t6llb.cloudfront.net/Screenshots/201353/136x82/3W8FRdl_1671813949060.gif",
"creativeCardSource": "https://d3jme5si7t6llb.cloudfront.net/Screenshots/201353/278x220/3W8FRdl_1671813949060.gif",
"createdAt": 1671813949233,
"modifiedAt": 1671819653000,
"clickUrl": "https://example.com/id=130141",
"pixelUrl": "http://app.iqm.com",
"creativeHeight": 50,
"creativeWidth": 320,
"subMediaType": "Image",
"approvalRequiredPostUrlUpdate": true,
"campaignDetails": {
"campaignIds": [
20141
]
},
"userDetails": {
"uowId": 981,
"userName": "User Name",
"userEmail": "email@domain.com",
"hasEditAccess": true,
"hasApprovalAccess": true
},
"organizationDetails": {
"owId": 201353,
"organizationName": "Organization Name",
"organizationLogo": "https://iqm-web-assets-c92d6b6cbde1-stage.s3.amazonaws.com/avatar/ON.png"
}
},
{
"creativeId": 130142,
"creativeName": "Creative 2",
"platformCreativeTypeId": 14,
"creativeStatusId": 2,
"creativePreviewFlag": 1,
"creativeSourceType": "file",
"creativeThumbnailSource": "https://d3jme5si7t6llb.cloudfront.net/Screenshots/201353/136x82/EQ4SWN1_1671813949262.png",
"creativeCardSource": "https://d3jme5si7t6llb.cloudfront.net/Screenshots/201353/278x220/EQ4SWN1_1671813949262.png",
"createdAt": 1671813949351,
"modifiedAt": 1671819653000,
"clickUrl": "https://example.com/id=130142",
"duration": 16,
"subMediaType": "Video",
"approvalRequiredPostUrlUpdate": false,
"campaignDetails": {
"campaignIds": [
20141
]
},
"userDetails": {
"uowId": 981,
"userName": "User Name",
"userEmail": "email@domain.com",
"hasEditAccess": true,
"hasApprovalAccess": true
},
"organizationDetails": {
"owId": 201353,
"organizationName": "Organization Name",
"organizationLogo": "https://iqm-web-assets-c92d6b6cbde1-stage.s3.amazonaws.com/avatar/ON.png"
}
}
]
}
}
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: {
totalRecords: number;
filteredRecords: number;
filteredList: {
creativeId: number;
creativeName: string;
platformCreativeTypeId: number;
creativeStatusId: number;
creativePreviewFlag: number;
creativeSourceType: string;
creativeSource: string;
creativeThumbnailSource: string;
creativeCardSource: string;
createdAt: number;
modifiedAt: number;
clickUrl: string;
creativeWidth: number;
creativeHeight: number;
campaignDetails: {
campaignIds: number[]
};
userDetails: {
uowId: number;
userName: string;
userEmail: string;
hasApprovalAccess: boolean;
hasEditAccess: boolean;
};
organizationDetails: {
owId: number;
organizationName: string
}
}[];
}
};
};
};
}
function getCreatives_1(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/crt/creatives/list',
requestBody: {
content: {
"application/json": {
sortCriteriaMap?: {
[key: string]: `string`,
},
creativeStatusIds?: `array of numbers`,
platformCreativeTypeIds?: `array of numbers`,
creativeIds?: `array of numbers`,
creativeGroupId?: `number`,
campaignIds?: `array of numbers`,
owIds?: `array of numbers`,
allOwIds?: `boolean`,
includeCreativeSourceDetails?: `boolean`,
includeOrganizationDetails?: `boolean`,
includeUserDetails?: `boolean`,
startTime?: `number`,
endTime?: `number`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: 'SortOrderEnum[id=1, name='asc', symbol='+']" | "SortOrderEnum[id=2, name='desc', symbol='-']'
};
};
};
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Associated Campaigns
GET /api/v3/crt/creatives/{creativeId}/creative-campaign-detailsGet details of a Creative by ID along with its associated Campaigns. Includes the option of retrieving modeling details.
Path Parameters | |
---|---|
creativeId integer | Creative ID |
Query Parameters | |
---|---|
includeModelingInfo boolean | Indicates whether modeling details should be included (true) or not, default (false) |
Response Properties
creativeId integer | Creative ID | |||||||||||
creativeName string | Creative name | |||||||||||
rtbCreativeTypeId integer | RTB Creative Type ID | |||||||||||
platformCreativeTypeId integer | Platform Creative Type ID | |||||||||||
creativeStatusId integer | Creative Status ID | |||||||||||
creativeSource string | Creative source | |||||||||||
creativeCardSource string | Creative card source | |||||||||||
clickUrl string | Click URL | |||||||||||
videoDetails object | Image details | |||||||||||
|
duration integer | Video duration |
xmlType string | XML type Supported values: vastWrapper, vastInline |
creativeSourceUrl string | Creative source URL |
availableXmlVersions string | Available XML versions Supported values: v1.0, v1.1, v2.0 |
transformed boolean | Indicates that a video or audio Creative has been successfully been converted to other formats or compressed Default: false, updated to true once post-processing by AWS Lambda is completed |
creativeSourceType
string
Supported values: file, HTML, vast-xml
creativePreviewFlag
integer
createdAt
integer
modifiedAt
string
userDetails
object
userDetails
object properties
uowId integer | User Organization Workspace ID |
userName string | User name |
userEmail string | User email |
organizationDetails
object
organizationDetails
object properties
owId integer | Organization Workspace ID |
organizationName string | Organization name |
campaignDetails
array of objects
campaignDetails
object properties
id integer | Campaign ID |
name string | Campaign name |
status string | Campaign status |
totalCreativesCount integer | Count of Creatives associated with Campaign |
isModelled boolean | Indicates that a Creative has been assigned Bid Modelling: true |
- JSON
- TypeScript
{
"success": true,
"data": {
"creativeId": 604675,
"creativeName": "ad-45s",
"rtbCreativeTypeId": 3,
"platformCreativeTypeId": 14,
"creativeStatusId": 2,
"creativeSource": "VAST...",
"creativeCardSource": "https://d3jme5si7t6llb.cloudfront.net/Screenshots/201427/278x220/fgx01xo_1701846672033.jpg",
"clickUrl": "https://iqm.com/?utm_medium=rtb&utm_campaign=wreckathon-2022-play-4",
"videoDetails": {
"duration": 45,
"xmlType": "inline",
"creativeSourceUrl": "https://cdn-cfy-p0.iqm.com/wreckathon/Videos/iqm-video-202206-45s-720p.mp4",
"availableXmlVersions": "2.0,3.0,4.0,4.1",
"transformed": true
},
"creativeSourceType": "vast-xml",
"creativePreviewFlag": 1,
"createdAt": 1701846671694,
"modifiedAt": "2023-12-13T02:23:26.000+00:00",
"userDetails": {
"uowId": 9483,
"userName": "Hardik Vagadia",
"userEmail": "hardik.v+stageadv@iqm.com"
},
"organizationDetails": {
"owId": 201427,
"organizationName": "Stage Shared Advertiser"
},
"approvalRequiredPostUrlUpdate": true,
"campaignDetails": [
{
"id": 452308,
"name": "Test Campaign - Pre-bid segment not attched",
"status": "pending",
"totalCreativesCount": 3,
"isModelled": false
},
{
"id": 452330,
"name": "checking video campaign",
"status": "expired",
"totalCreativesCount": 7,
"isModelled": true
}
]
}
}
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: {
creativeId: number;
creativeName: string;
rtbCreativeTypeId: number;
platformCreativeTypeId: number;
creativeStatusId: number;
creativeSource: string;
creativeCardSource: string;
clickUrl: string;
videoDetails: {
duration: number;
xmlType: string;
creativeSourceUrl: string;
availableXmlVersions: number;
transformed: boolean;
};
creativeSourceType: string;
creativePreviewFlag: number;
createdAt: number;
modifiedAt: number;
userDetails: {
uowId: number;
userName: string;
userEmail: string;
};
organizationDetails: {
owId: number;
organizationName: string
};
approvalRequiredPostUrlUpdate: boolean;
campaignDetails: {
id: number;
name: string;
status: string;
totalCreativesCount: number;
isModelled: boolean;
}[];
}
};
};
};
}
function getCreativeAndCampaignDetails(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/crt/creatives/{creativeId}/creative-campaign-details',
params: {
path: {
creativeId: `number`
},
query?: {
includingModelingInfo?: `boolean`
}
},
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get List of Creative Groups
POST /api/v3/crt/creatives/groups/listGet a list of Creative groups by desired filters.
Request Schema | |
---|---|
pageNo integer | Number of pages for retrieved data, default value: 1 |
noOfEntries integer | Maximum number of entries per page, default value: 20 |
sortBy string | Sorts by ascending (+) or descending (-), default value: -creativeGroupId |
searchField string | Search results by keyword: groupId, groupName, creativeId, name, or 3rd party ID |
platformCreativeTypeIds array of integers | Creative Type IDs |
creativeStatusIds array of integers | Creative Status IDs |
creativeGroupIds array of integers | Creative group IDs |
startTime integer | Unix epoch timestamp (in milliseconds) of start time |
endTime integer | Unix epoch timestamp (in milliseconds) of end time |
allOwIds boolean | (Super/Workspace only) Filters records with all allowed OW IDs if true, prioritizes records over owIds |
Response Properties
creativeGroupList array of objects | Creative group details | |||||||||
|
creativeGroupId integer | Creative group ID |
creativeGroupName string | Creative group name |
creativeTypeId integer | Creative Type ID |
creativesCount integer | Count of Creatives in group |
- JSON
- TypeScript
{
"pageNo": 1,
"noOfEntries": 2,
"searchField": "test",
"creativeGroupIds": [
46652,
46639
],
"startTime": 1737023769000,
"endTime": 1737369441000,
"sortBy": "-creativeGroupId",
"platformCreativeTypeIds": [
11,
13,
14,
15,
17
],
"creativeStatusIds": [
1,
2,
3,
4
]
}
{
"success": true,
"data": {
"totalRecords": 203,
"filteredRecords": 12,
"creativeGroupList": [
{
"creativeGroupId": 17524,
"creativeGroupName": "Group_08",
"creativeTypeId": 11,
"createdAt": 1651570373395,
"creativesCount": 6
},
{
"creativeGroupId": 17522,
"creativeGroupName": "Group_06",
"creativeTypeId": 13,
"createdAt": 1651570273015,
"creativesCount": 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: {
totalRecords: number;
filteredRecords: number;
creativeGroupList: {
creativeGroupId: number;
creativeGroupName: string;
creativeTypeId: number;
createdAt: number;
creativesCount: number;
}[];
}
};
};
};
}
function getCreativeGroupList(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/crt/creatives/groups/list',
requestBody: {
content: {
"application/json": {
sortCriteriaMap?: {
[key: string]: `string`
},
platformCreativeTypeIds?: `array of numbers`,
creativeStatusIds?: `array of numbers`,
creativeGroupIds?: `array of numbers`,
startTime?: `number`,
endTime?: `number`,
owIds?: `array of numbers`,
allOwIds?: `boolean`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: 'SortOrderEnum[id=1, name='asc', symbol='+']" | "SortOrderEnum[id=2, name='desc', symbol='-']'
}
}
};
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Creative Count by Type
POST /api/v3/crt/creatives/count-by-typeGet a count of Creatives by Creative type.
Request Schema | |
---|---|
searchField string | Search results by keyword |
Response Properties
creativeTypeList array of objects | Creative type list and counts | |||||
|
id integer | Creative Type ID |
creativeCount integer | Count of Creatives by type |
- JSON
- TypeScript
{
"searchField": "creative"
}
{
"success": true,
"data": {
"totalRecords": 6,
"creativeTypeList": [
{
"id": 0,
"creativeCount": 88829
},
{
"id": 11,
"creativeCount": 52951
},
{
"id": 13,
"creativeCount": 7520
},
{
"id": 14,
"creativeCount": 15004
},
{
"id": 17,
"creativeCount": 1732
},
{
"id": 15,
"creativeCount": 11622
}
],
"filteredRecords": 6
}
}
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: {
totalRecords: number;
filteredRecords: number;
creativeTypeList: {
id: number;
creativeCount: number;
}[]
}
};
};
};
}
function getCreativeTypeCount(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/crt/creatives/count-by-type',
requestBody: {
content: {
"application/json": {
searchField?: `string`,
owIds?: `array of numbers`,
allOwIds?: `boolean`
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Creative Count by Status
POST /api/v3/crt/creatives/count-by-statusGet count of Creatives by Creative status.
Request Schema | |
---|---|
searchField string | Search results by keyword: groupId, groupName, creativeId, name, or 3rd party ID |
platformCreativeTypeIds array of integers | Creative type IDs |
creativeStatusIds array of integers | Creative status IDs |
creativeIds array of integers | Creative IDs |
allCreatives boolean | Flag indicating whether to include all Creatives in results (true) |
groupedCreatives boolean | Flag indicating whether to include grouped Creaties (true) |
startTime integer | Unix epoch timestamp (in milliseconds) of start time |
endTime integer | Unix epoch timestamp (in milliseconds) of end time |
campaignIds array of integers | Campaign IDs |
owIds array of integers | (Super/Workspace only) Organization Workspace IDs |
allOwIds boolean | (Super/Workspace only) Filters records with all allowed OW IDs if true, prioritizes records over owIds |
Response Properties
creativeStatusList array of objects | Creative type list and counts | |||||
|
id integer | Creative Status ID |
creativeCount integer | Count of Creatives by status |
- JSON
- TypeScript
{
"searchField": "creative",
"creativeStatusIds": [
1,
2,
3,
4
],
"platformCreativeTypeIds": [
11,
13,
14,
15,
17
],
"creativeIds": [
123,
456
],
"allCreatives": true,
"groupedCreatives": false,
"startTime": 1734998399000,
"endTime": 1735206867000,
"owIds": [],
"allOwIds": true,
"campaignIds": [
123456
]
}
{
"success": true,
"data": {
"creativeStatusList": [
{
"id": 0,
"creativeCount": 587
},
{
"id": 1,
"creativeCount": 212
},
{
"id": 2,
"creativeCount": 281
},
{
"id": 3,
"creativeCount": 6
},
{
"id": 5,
"creativeCount": 13
},
{
"id": 4,
"creativeCount": 75
}
],
"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": {
success: boolean;
data: {
totalRecords: number;
filteredRecords: number;
creativeStatusList: {
id: number;
creativeCount: number;
}[]
}
};
};
};
}
function getCreativeStatusCount(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/crt/creatives/count-by-status',
requestBody: {
content: {
"application/json": {
searchField?: `string`,
creativeStatusIds?: `array of numbers`,
platformCreativeTypeIds?: `array of numbers`,
allCreatives?: `boolean`,
groupedCreatives?: `boolean`,
owIds?: `array of numbers`,
allOwIds?: `boolean`,
campaignIds?: `array of numbers`,
startTime?: `number`,
endTime?: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Creative Management
Add New Creative
POST /api/v3/crt/creativesAdd a new Creative by providing the Creative metadata and files. Endpoint accepts a JSON payload with Creative details and supports file uploads in multipart form data. The API handles both the metadata and Creative file uploads simultaneously.
Please refer to MDN Documentation on form data format.
Query Parameters | |
---|---|
creativeRequest string | This parameter accepts a Map of UUIDs to Creative details. Each UUID corresponds to a single Creative. The metadata includes information such as Creative name, external Creative ID, Creative type, and click URL. Additionally, the Creative files are sent as multipart form data |
creativeFiles array of strings | Array of Creative files uploaded as multipart files. These files will be used for creating the Creatives. Each file is processed according to its type (image, video, etc.) |
- JSON
- TypeScript
{
"H001": {
"creativeName": "html",
"externalCreativeId": "google_421_dcm_435",
"platformCreativeTypeId": 13,
"creativeSourceType": "HTML",
"creativeSource": "<a href=https://iqm.com/political?utm_medium=rtb&utm_campaign=wreckathon-2024-play-1><img src=https://cdn-cfy-p0.iqm.com/wreckathon/2024/Images/w24-728x90-P.jpg></a>",
"clickUrl": "www.example.com",
"htmlDetails": {
"creativeWidth": 500,
"creativeHeight": 1200
}
}
}
{
"success": true,
"data": {
"successData": {
"PS": "701388"
},
"failedData": {
"PF": "Creative file missing. Please attach the required file. : null"
}
}
}
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: {
successData: {
PS: string;
};
failedData: {
PF: string;
}
}
};
};
};
}
function createCreatives(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/crt/creatives',
params: {
query: {
creativeRequest: `string`,
creativeFiles?: `array of strings`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Request Schema
H001 object | HTML Creative | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I001 object | Image file Creative | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I002 object | Image URL Creative | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
creativeName string | Creative name | |||||||
externalCreativeId string | External Creative ID | |||||||
platformCreativeTypeId string | Creative type ID | |||||||
creativeSourceType string | Creative source type Supported values: HTML, FILE, URL | |||||||
creativeSource string | Creative source | |||||||
clickUrl string | Click URL | |||||||
htmlDetails object | HTML details | |||||||
|
creativeWidth integer | Creative width (px) |
creativeHeight integer | Creative height (px) |
imageDetails
object
imageDetails
object properties
pixelUrl string | Pixel URL |
creativeWidth integer | Creative width (px) |
creativeHeight integer | Creative height (px) |
A001
object
A002
object
A003
object
A004
object
A005
object
A006
object
A001
, A002
, A003
, A004
, A005
, A006
object properties
creativeName string | Creative name | ||||||||||||||||||||||
externalCreativeId string | External Creative ID | ||||||||||||||||||||||
platformCreativeTypeId string | Creative type ID | ||||||||||||||||||||||
creativeSourceType string | Creative source type Supported values: FILE, URL, VAST_URL, VAST_XML, DAAST_URL, DAAST_XML | ||||||||||||||||||||||
creativeSource string | Creative source | ||||||||||||||||||||||
clickUrl string | Click URL | ||||||||||||||||||||||
audioDetails object | HTML details | ||||||||||||||||||||||
|
duration integer | Audio duration (s) | |||||||||||||
customTracking object | Custom tracking details | |||||||||||||
|
startUrl string | Start URL |
firstQuartileUrl string | First quartile URL |
midPointUrl string | Midpoint URL |
thirdQuartileUrl string | Third quartile URL |
completeUrl string | Complete URL |
impressionUrl string | Impression URL |
logoSource
string
V001
object
V002
object
V003
object
V004
object
V001
, V002
, V003
, V004
, object properties
creativeName string | Creative name | ||||||||||||||||||||||||
externalCreativeId string | External Creative ID | ||||||||||||||||||||||||
platformCreativeTypeId string | Creative type ID | ||||||||||||||||||||||||
creativeSourceType string | Creative source type Supported values: FILE, URL, VAST_URL, VAST_XML, | ||||||||||||||||||||||||
creativeSource string | Creative source | ||||||||||||||||||||||||
clickUrl string | Click URL | ||||||||||||||||||||||||
videoDetails object | Video details | ||||||||||||||||||||||||
|
creativeWidth integer | Creative width (px) | |||||||||||||
creativeHeight integer | Creative height (px) | |||||||||||||
duration integer | Video duration (s) | |||||||||||||
customTracking object | Custom tracking details | |||||||||||||
|
startUrl string | Start URL |
firstQuartileUrl string | First quartile URL |
midPointUrl string | Midpoint URL |
thirdQuartileUrl string | Third quartile URL |
completeUrl string | Complete URL |
impressionUrl string | Impression URL |
NI001
object
NI002
object
NI001
, NI002
object properties
creativeName string | Creative name | |||||||||||||
externalCreativeId string | External Creative ID | |||||||||||||
platformCreativeTypeId string | Creative type ID | |||||||||||||
creativeSourceType string | Creative source type Supported values: HTML, FILE, URL | |||||||||||||
creativeSource string | Creative source | |||||||||||||
clickUrl string | Click URL | |||||||||||||
imageDetails object | Image details | |||||||||||||
|
pixelUrl string | Pixel URL |
nativeDetails
object
nativeDetails
object properties
title string | Title |
description string | Description |
brandName string | Brand name |
brandIconSourceUrl string | Brand icon source URL |
brandIconHeight integer | Brand icon height (px) |
brandIconWidth integer | Brand icon width (px) |
NV001
object
NV002
object
NV003
object
NV004
object
NV001
, NV002
, NV003
, NV004
, object properties
creativeName string | Creative name | ||||||||||||||||||||||||||||||
externalCreativeId string | External Creative ID | ||||||||||||||||||||||||||||||
subMediaType integer | Subcategory of media type | ||||||||||||||||||||||||||||||
platformCreativeTypeId string | Creative type ID | ||||||||||||||||||||||||||||||
creativeSourceType string | Creative source type Supported values: FILE, URL, VAST_URL, VAST_XML, | ||||||||||||||||||||||||||||||
creativeSource string | Creative source | ||||||||||||||||||||||||||||||
clickUrl string | Click URL | ||||||||||||||||||||||||||||||
videoDetails object | Video details | ||||||||||||||||||||||||||||||
|
creativeWidth integer | Creative width (px) | |||||||||||||
creativeHeight integer | Creative height (px) | |||||||||||||
duration integer | Video duration (s) | |||||||||||||
customTracking object | Custom tracking details | |||||||||||||
|
startUrl string | Start URL |
firstQuartileUrl string | First quartile URL |
midPointUrl string | Midpoint URL |
thirdQuartileUrl string | Third quartile URL |
completeUrl string | Complete URL |
impressionUrl string | Impression URL |
nativeDetails
object
nativeDetails
object properties
title string | Title | |||||||
description string | Description | |||||||
cta object | Call-to-Action object details | |||||||
|
id integer | CTA ID |
ctaText string | CTA display text |
defaultCta boolean | Default CTA for associated Creative |
brandName
string
brandIconSourceUrl
string
brandIconHeight
integer
brandIconWidth
integer
thumbnailSourceUrl
string
thumbnailHeight
integer
thumbnailWidth
integer
Response Properties
successData object | Success data | |||
|
PS string | Partial success |
failedData
object
failedData
object properties
PF string | Partial failure |
Update Creative Details
PATCH /api/v3/crt/creatives/{creativeId}Update the details of an existing Creative. Users authorized to modify a Creative's properties are: Advertisers, workspaces, or super users. Ownership and edit permissions are validated to ensure request is authorized.
Path Parameters | |
---|---|
creativeId integer | Creative ID |
Request Schema | |
---|---|
creativeName string | Creative name |
externalCreativeId string | 3rd party ID for Creative |
creativeRejectionReason string | Reason for rejecting Creative if applicable |
creativeRemarks string | Adds remarks to Creative |
Response Properties
id integer | Creative ID |
message string | Success message |
- JSON
- TypeScript
{
"creativeName": "New creative name",
"externalCreativeId": "3rd party id"
}
{
"success": true,
"data": {
"id": 68798,
"message": "New creative name updated successfully"
}
}
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: {
id: number;
message: string;
}
};
};
};
}
function updateCreative(): Promise<Responses> {
const options = {
method: 'PATCH',
url: 'https://app.iqm.com/api/v3/crt/creatives/{creativeId}',
params: {
path: {
creativeId: `number`
}
},
requestBody: {
content: {
"application/json": {
creativeName?: `string`,
externalCreativeId?: `string`,
clickUrl?: `string`,
pixelUrl?: `string`,
creativeRemarks?: `string`,
creativeSource?: `string`,
title?: `string`,
description?: `string`,
cta?: {
id?: `number`,
ctaText?: `string`,
defaultCta?: `boolean`,
},
brandName?: `string`,
brandIconSourceUrl?: `string`,
brandIconHeight?: `number`,
brandIconWidth?: `number`,
thumbnailSourceUrl?: `string`,
thumbnailWidth?: `number`,
thumbnailHeight?: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Update Creative Status
PATCH /api/v3/crt/creatives/update-statusUpdate the status of an existing Creative. Users authorized to modify a Creative's properties are: Advertisers, workspaces, or super users. Ownership and edit permissions are validated to ensure request is authorized.
Request Schema | |
---|---|
creativeIds array of integers | Creative IDs |
creativeStatusId integer | Creative Status ID |
creativeRejectionReason string | Reason for rejecting Creative if applicable |
Response Properties
message string | Success message |
- JSON
- TypeScript
{
"creativeIds": [
688549
],
"creativeStatusId": 4
}
{
"success": true,
"data": {
"message": "asdf creative updated successfully"
}
}
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: {
message: string;
}
};
};
};
}
function updateCreativeStatus(): Promise<Responses> {
const options = {
method: 'PATCH',
url: 'https://app.iqm.com/api/v3/crt/creatives/update-status',
params: {
path: {
creativeId: `number`
}
},
requestBody: {
content: {
"application/json": {
creativeIds: `array of numbers`,
creativeStatusId: `number`,
creativeRejectionReason?: `string`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Create New Creative Group
POST /api/v3/crt/creatives/groupsCreate a new Creative group and add desired Creatives to the group.
Request Schema | |
---|---|
creativeGroupName string | Creative Group Name |
creativeTypeId integer | Creative Type ID |
creativeIds array of integers | Creative IDs |
Response Properties
creativeGroupId integer | Creative group ID |
message string | Success message |
- JSON
- TypeScript
{
"creativeGroupName": "Group Name",
"creativeTypeId": 1,
"creativeIds": [
1,
2,
3
]
}
{
"success": true,
"data": {
"creativeGroupId": 45089,
"message": "testCreatives group created successfully"
}
}
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: {
creativeGroupId: number;
message: string;
}
};
};
};
}
function createCreativeGroup(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/crt/creatives/groups',
requestBody: {
content: {
"application/json": {
creativeGroupName: `string`,
creativeIds: `array of numbers`,
creativeTypeId: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Delete Creative Group
DELETE /api/v3/crt/creatives/groupsDelete Creative group(s) by ID. Also removes mapping of Creatives from deleted group(s).
Request Schema | |
---|---|
creativeGroupIds string | Comma separated group IDs to be deleted |
Response Properties
message string | Success message |
- JSON
- TypeScript
{
"success": true,
"data": {
"message": "creativeGroup group deleted successfully"
}
}
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: {
message: string;
}
};
};
};
}
function deleteCreativeGroups(): Promise<Responses> {
const options = {
method: 'DELETE',
url: 'https://app.iqm.com/api/v3/crt/creatives/groups',
params: {
query: {
creativeGroupIds: `string`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Modify Creatives
POST /api/v3/crt/creatives/group/modify-creativesAdd or remove Creatives from Creative groups.
Request Schema | |
---|---|
creativeIds array of integers | Creative IDs to add or remove from group |
creativeGroupIds array of integers | Group IDs to add Creatives to or remove Creatives from |
action string | Supported values: add or remove |
Response Properties
message string | Success message |
- JSON
- TypeScript
{
"creativeIds": [
123456,
123457
],
"creativeGroupIds": [
1,
2
],
"action": "ADD"
}
{
"success": true,
"data": {
"message": "2 creatives added to Group_06 group successfully"
}
}
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: {
message: string;
}
};
};
};
}
function modifyCreativesInGroups(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/crt/creatives/groups/modify-creatives',
requestBody: {
content: {
"application/json": {
creativeIds: `array of numbers`,
creativeGroupIds: `array of numbers`,
actionType: "ADD" | "REMOVE";
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Update Creative Group Name
PATCH /api/v3/crt/creatives/groups/{creativeGroupId}Update a Creative group name.
Path Parameters | |
---|---|
creativeGroupId integer | Creative group ID |
Request Schema | |
---|---|
creativeGroupName string | Creative group name |
Response Properties
message string | Success message |
- JSON
- TypeScript
{
"creativeGroupName": "Group1"
}
{
"success": true,
"data": {
"message": "Group1 group renamed successfully"
}
}
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: {
message: string;
}
};
};
};
}
function updateCreativeGroupName(): Promise<Responses> {
const options = {
method: 'PATCH',
url: 'https://app.iqm.com/api/v3/crt/creatives/groups/{creativeGroupId}',
params: {
path: {
creativeGroupId: `number`
}
},
requestBody: {
content: {
"application/json": {
creativeGroupName: `string`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Duplicate Creatives
POST /api/v3/crt/creatives/duplicateDuplicate one or more Creatives. You may also include click URL Conversion in the duplication.
Request Schema | |
---|---|
creativeIds array of integers | Creative IDs to duplicate |
clickUrl string | Click URL to include in duplication |
Response Properties
message string | Success message |
- JSON
- TypeScript
{
"creativeIds": [
130141,
130142
],
"clickUrl": "www.example.com"
}
{
"success": true,
"data": {
"message": "Native image 3 creative duplicated successfully"
}
}
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: {
message: string;
}
};
};
};
}
function CreateDuplicateCreatives(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/crt/creatives/duplicate',
requestBody: {
content: {
"application/json": {
creativeIds: `array of numbers`,
clickUrl?: `string`
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Duplicate Creative Group
POST /api/v3/crt/creatives/groups/duplicate/{creativeGroupId}Duplicate Creative group by ID. Also duplicates existing Creatives within group.
Path Parameters | |
---|---|
creativeGroupId integer | Creative group ID to duplicate |
Response Properties
duplicatedCreativeGroupId integer | Creative group ID |
message string | Success message |
- JSON
- TypeScript
{
"success": true,
"data": {
"duplicatedCreativeGroupId": 45089,
"message": "testCreatives group duplicated successfully"
}
}
{
"success": true,
"data": {
"duplicatedCreativeGroupId": 45089,
"message": "testCreatives group duplicated successfully"
}
}
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: {
duplicatedCreativeGroupId: number;
message: string;
}
};
};
};
}
function duplicateCreativeGroup(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/crt/creatives/groups/duplicate/{creativeGroupId}',
params: {
path: {
creativeGroupId: `number`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Compress Uploaded Image Creative
POST /api/v3/crt/image/compressCompress uploaded image Creatives. Also validates file types and size, and returns list of compressed image URLs.
Request Schema | |
---|---|
files array of strings | Image files to compress |
Response Properties
fileName string | File name |
originalSizeInBytes integer | Original size in bytes |
compressedSizeInBytes integer | Compressed size in bytes |
compressedFileUrl string | Compressed file URL |
- JSON
- TypeScript
{
"success": true,
"data": [
{
"fileName": "sample_1MB_img1.jpg",
"originalSizeInBytes": 1042592,
"compressedSizeInBytes": 138572,
"compressedFileUrl": "https://tmpd3vsekqsh1zre3k8n-stage.s3.amazonaws.com/images/1730986298115-1730986300299.jpg"
},
{
"fileName": "Screenshot 2024-08-27 at 6.46.23 PM.png",
"originalSizeInBytes": 916933,
"compressedSizeInBytes": 230436,
"compressedFileUrl": "https://tmpd3vsekqsh1zre3k8n-stage.s3.amazonaws.com/images/1730986298110-1730986302423.png"
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success?: boolean;
errorObjects?: {
error?: string;
reason?: string;
field?: string;
}[];
data?: Record<string, never>;
};
};
};
}
function compressImages(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/crt/image/compress',
params: {
path: {
files: `array of strings`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Update Pixel URL
PATCH /api/v3/crt/creatives/pixel-urlUpdate Pixel URL Conversion for Creative(s).
For further information see theConversions API guidelines.
Request Schema | |
---|---|
creativeIds array of integers | Creative IDs to update Conversion |
pixelUrl string | Pixel URL |
Response Properties
message string | Success message |
- JSON
- TypeScript
{
"creativeIds": [
1,
2
],
"pixelUrl": "http://app.example.com"
}
{
"success": true,
"data": {
"message": "Pixel URL updated successfully for 2 creatives"
}
}
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: {
message: string;
}
};
};
};
}
function UpdatePixelUrl(): Promise<Responses> {
const options = {
method: 'PATCH',
url: 'https://app.iqm.com/api/v3/crt/creatives/pixel-url',
requestBody: {
content: {
"application/json": {
pixelUrl?: `string`,
creativeIds: `array of numbers`
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Update Click URL
PATCH /api/v3/crt/creatives/click-urlUpdate click URL Conversion for Creative(s).
For further information see theConversions API guidelines.
Request Schema | |
---|---|
creativeIds array of integers | Creative IDs to update Conversion |
clickUrl string | Pixel URL |
Response Properties
message string | Success message |
- JSON
- TypeScript
{
"creativeIds": [
639021
],
"clickUrl": "http://www.iqm.com"
}
{
"success": true,
"data": {
"message": "Click URL updated successfully for TEST creative"
}
}
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: {
message: string;
}
};
};
};
}
function updateCreativeClickUrl(): Promise<Responses> {
const options = {
method: 'PATCH',
url: 'https://app.iqm.com/api/v3/crt/creatives/click-url',
requestBody: {
content: {
"application/json": {
clickUrl?: `string`,
creativeIds: `array of numbers`
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
More Creative Details
Get Creative Types List
GET /api/v3/crt/master/static/creative-typesGet a list of Creative types.
Query Parameters | |
---|---|
displayAllType boolean | Flag to add all Creative type in the results |
searchField string | Search results by keyword |
creativeTypeIds array of integers | Filter results by Creative Type IDs |
Response Properties
creativeTypeList array of objects | Creative type list details | |||||||||||
|
id integer | Creative type ID |
name string | Creative type name |
order integer | Order |
displayName integer | Creative type name |
rtbCreativeTypeId integer | RTB Creative type ID |
- JSON
- TypeScript
{
"success": true,
"data": {
"totalRecords": 6,
"creativeTypeList": [
{
"id": 0,
"name": "all",
"order": 0,
"displayName": "All",
"rtbCreativeTypeId": null
},
{
"id": 11,
"name": "Image",
"order": 100,
"displayName": "Image",
"rtbCreativeTypeId": 1
},
{
"id": 13,
"name": "HTML",
"order": 100,
"displayName": "HTML",
"rtbCreativeTypeId": 1
},
{
"id": 14,
"name": "Video",
"order": 100,
"displayName": "Video",
"rtbCreativeTypeId": 3
},
{
"id": 15,
"name": "Native",
"order": 100,
"displayName": "Native",
"rtbCreativeTypeId": 4
},
{
"id": 17,
"name": "Audio",
"order": 100,
"displayName": "Audio",
"rtbCreativeTypeId": 2
}
],
"filteredRecords": 6
}
}
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: {
totalRecords: number;
filteredRecords: number;
creativeTypeList: {
id: number;
name: string;
order: number;
displayName: string;
rtbCreativeTypeId: number;
}[];
}
};
};
};
}
function creativeTypeList(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/crt/master/static/creative-types',
params: {
query?: {
displayAllType?: `boolean`,
searchField?: `string`,
creativeTypeIds?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get Creative Status List
GET /api/v3/crt/master/static/creative-statusGet a list of Creative statuses.
Query Parameters | |
---|---|
displayAllStatusOption boolean | Flag to add all Creative status in the results |
Response Properties
creativeStatusList array of objects | Creative status list details | |||||||||
|
id integer | Creative Status ID |
name string | Creative status name |
order integer | Order |
displayName integer | Creative status name |
- JSON
- TypeScript
{
"success": true,
"data": {
"creativeStatusList": [
{
"id": 1,
"name": "pending",
"order": 1,
"displayName": "Pending"
},
{
"id": 2,
"name": "running",
"order": 2,
"displayName": "Running"
},
{
"id": 3,
"name": "paused",
"order": 3,
"displayName": "Paused"
},
{
"id": 5,
"name": "rejected",
"order": 4,
"displayName": "Rejected"
},
{
"id": 4,
"name": "deleted",
"order": 5,
"displayName": "Deleted"
}
],
"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": {
success: boolean;
data: {
totalRecords: number;
filteredRecords: number;
creativeStatusList: {
id: number;
name: string;
order: number;
displayName: string;
}[];
}
};
};
};
}
function creativeStatusList(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/crt/master/static/creative-status',
params: {
query?: {
displayAllStatusOption?: `boolean`
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Get CTA Details
GET /api/v3/crt/master/cta/listGet list of CTA details from the database.
Query Parameters | |
---|---|
showOnlyDefault boolean required | Shows only default CTA if true, otherwise shows all CTA |
Response Properties
ctaDetailsList array of objects | Call-to-Action details | |||||||
|
id integer | CTA ID |
ctaText string | CTA display text |
defaultCta boolean | Default CTA for associated Creative |
- JSON
- TypeScript
{
"success": true,
"data": {
"ctaDetailsList": [
{
"id": 1,
"ctaText": "Learn More",
"defaultCta": true
},
{
"id": 2,
"ctaText": "Buy Now",
"defaultCta": false
},
{
"id": 3,
"ctaText": "Sign Up",
"defaultCta": false
}
],
"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: {
totalRecords: number;
filteredRecords: number;
ctaDetailsList: {
id: number;
ctaText: string;
defaultCta: boolean;
}[];
}
};
};
};
}
function ctaDetailsList(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v3/crt/master/cta/list',
params: {
query?: {
showOnlyDefault: `string`,
searchField?: `string`,
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}