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
More resources:
- Upload a Creative Quickstart Guide
- Creative and Specifications Help Center article
Authentication
Use the following header parameters for all requests:
Headers | |
---|---|
Authentication string required | Authentication bearer token See Authentication Guide |
X-IAA-OW-ID integer required | Organization Workspace 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);
}