Create creative

Create a new creative via POST. Supports multiple creative kinds: Custom Tag (BANNER+TAG), Hosted Banner, Video (VAST URL/XML/Hosted), Audio, Native, and DOOH. Provide creativeType, creativeSubtype, type.mediaType, and type-specific payload; omit id. One of advertiserId or campaignId is required.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…


Request

Request body (common fields)

NameTypeDescriptionRequired
nameStringCreative name (max 400 characters)Yes
creativeTypeStringOne of: BANNER, NATIVE, AUDIO, VIDEO, DOOHYes
creativeSubtypeStringDepends on creativeType (see matrix below)Yes
typeObjectMedia type configuration; see Type objectYes
advertiserIdNumberAdvertiser IDYes*
campaignIdNumberCampaign ID (advertiser resolved from campaign if only this is sent)Yes*
sizeObjectDimensions; see Size objectConditional**
landingPageUrlStringClick-through URLConditional***
htmlAssetStringHTML/JS tag content (for BANNER + TAG)Conditional****
imageUrlStringImage URL (for BANNER + HOSTED)Conditional****
videoObjectVideo payload; see VideoConditional****
audioObjectAudio payload; see AudioConditional****
nativeObjectNative payload; see NativeConditional****
doohObjectDOOH payload; see DOOHConditional****
channelsArray of Stringe.g. ["MOBILE","DESKTOP"]No
crawlableUrlStringOptionalNo
externalCreativeidStringMax 26 charactersNo
impressionTrackingPixel1 … 4StringOptional tracking pixel URLsNo
displayObjectOptional; display.htmlAsset can supply HTML for tag creativesNo
statusStringe.g. PENDING, INCOMPLETE; usually omit on createNo
  • One of advertiserId or campaignId is required; both may be included.

** Size: Required for BANNER + TAG (and other tag-based display creatives). Optional or inferred for BANNER+HOSTED, VIDEO, AUDIO, NATIVE, DOOH.

*** landingPageUrl: Required for hosted display (BANNER+HOSTED), hosted video/audio, and Native creatives.

**** Type-specific: Required per creative type × subtype; see Creative type × subtype matrix.


Type object

NameTypeDescriptionRequired
mediaTypeStringOne of: BANNER, VAST, NATIVE, MRAID, VPAID, VAST_WITH_VPAID, AUDIOYes
idNumberCreative type ID; see Creative Type IDsNo
vendorIdNumberVendor ID (e.g. 8 = GCM for video); see Vendor Enum listNo
videoTypeStringOne of: FLV, MP4, WMV, WEBM, JS; use null for non-videoNo

For create, only mediaType is required. Use id and vendorId when you need vendor-specific mapping (e.g. GCM video).


Size object

NameTypeDescriptionRequired
widthNumberWidth in pixels (1–10239)When size is required
heightNumberHeight in pixels (1–10239)When size is required

Required when the creative type requires dimensions in the payload (e.g. BANNER + TAG). For BANNER+HOSTED, VIDEO, AUDIO, DOOH, size can be omitted or inferred from asset.


Creative type × subtype matrix

creativeTypecreativeSubtypeDescriptionType-specific required fields
BANNERTAGCustom tag (HTML/JS)size, htmlAsset (or display.htmlAsset)
BANNERHOSTEDHosted image bannerimageUrl, landingPageUrl
VIDEOVASTURLVAST wrapper (URL)video.vastUrl; type.vendorId often required (e.g. 8)
VIDEOVASTXMLVAST tag (inline XML)video.vastXml; type.vendorId often required
VIDEOHOSTEDHosted videovideo.mediaUrls, landingPageUrl
AUDIOVASTURLVAST audio wrapperaudio.vastUrl
AUDIOVASTXMLVAST audio tagaudio.vastXml
AUDIOHOSTEDHosted audioaudio.mediaUrls, landingPageUrl
NATIVEIMAGENative with imagenative (headline, caption, sponsoredBy, imageUrl, imageIcon)
NATIVEVASTURLNative VAST URLnative.vastUrl
NATIVEVASTXMLNative VAST tagnative.vastXml
NATIVEHOSTEDNative hosted videonative.mediaUrls, landingPageUrl.
DOOHIMAGEDOOH imagedooh.imageUrl
DOOHVIDEODOOH videodooh.mediaUrls

Type-specific request bodies

Video

  • VASTURL: video.vastUrl (string).
  • VASTXML: video.vastXml (string).
  • HOSTED: video.mediaUrls (array of strings).

Audio

  • VASTURL: audio.vastUrl (string).
  • VASTXML: audio.vastXml (string).
  • HOSTED: audio.mediaUrls (array of strings). Optional: audio.daast.

Native

  • IMAGE: native.headline, native.caption, native.sponsoredBy, native.imageUrl, native.imageIcon (typical).
  • VASTURL / VASTXML / HOSTED: native.vastUrl, native.vastXml, or native.mediaUrls as applicable.

DOOH

  • IMAGE: dooh.imageUrl (string).
  • VIDEO: dooh.mediaUrls (array of strings).

Example payloads

Use these as request bodies for POST /creative/save. Replace campaignId, advertiserId, and URLs with your own values.


1. Custom Tag (BANNER + TAG)

HTML/JS third-party or custom tag. Requires size and htmlAsset.

{
  "campaignId": 546834,
  "advertiserId": 107967,
  "name": "Test Custom Tag Banner",
  "creativeType": "BANNER",
  "creativeSubtype": "TAG",
  "type": {
    "mediaType": "BANNER"
  },
  "size": {
    "width": 300,
    "height": 250
  },
  "htmlAsset": "<script src=\"https://example.com/ad-tag.js\"></script>"
}

2. Hosted Banner (BANNER + HOSTED)

Hosted image with click-through. Requires imageUrl and landingPageUrl. Size is optional.

{
  "campaignId": 546834,
  "advertiserId": 107967,
  "name": "Test Hosted Banner",
  "creativeType": "BANNER",
  "creativeSubtype": "HOSTED",
  "type": {
    "mediaType": "BANNER"
  },
  "imageUrl": "https://placehold.co/300x250.png",
  "landingPageUrl": "https://example.com/landing"
}

3. Video – VAST URL (VIDEO + VASTURL)

VAST wrapper. video.vastUrl is required by the API.

{
  "campaignId": 546834,
  "advertiserId": 107967,
  "name": "Test Video VAST URL",
  "creativeType": "VIDEO",
  "creativeSubtype": "VASTURL",
  "type": {
    "mediaType": "VAST"
  },
  "size": {
    "width": 1920,
    "height": 1080
  },
  "video": {
    "vastUrl": "https://example.com/vast.xml"
  }
}

4. Video – VAST XML (VIDEO + VASTXML)

VAST tag (inline XML).

{
  "campaignId": 546834,
  "advertiserId": 107967,
  "name": "Test Video VAST XML",
  "creativeType": "VIDEO",
  "creativeSubtype": "VASTXML",
  "type": {
    "mediaType": "VAST"
  },
  "size": {
    "width": 1920,
    "height": 1080
  },
  "video": {
    "vastXml": "<VAST version=\"2.0\"><Ad><InLine>...</InLine></Ad></VAST>"
  }
}

5. Video – Hosted (VIDEO + HOSTED)

Hosted video file(s). Requires video.mediaUrls.

{
  "campaignId": 546834,
  "advertiserId": 107967,
  "name": "Test Hosted Video",
  "creativeType": "VIDEO",
  "creativeSubtype": "HOSTED",
  "type": {
    "mediaType": "VAST"
  },
  "size": {
    "width": 1920,
    "height": 1080
  },
  "video": {
    "mediaUrls": ["https://example.com/video.mp4"]
  }
}

6. Audio – VAST URL (AUDIO + VASTURL)

{
  "campaignId": 546834,
  "advertiserId": 107967,
  "name": "Test Audio VAST URL",
  "creativeType": "AUDIO",
  "creativeSubtype": "VASTURL",
  "type": {
    "mediaType": "AUDIO"
  },
  "audio": {
    "vastUrl": "https://example.com/audio-vast.xml"
  }
}

7. Audio – VAST XML (AUDIO + VASTXML)

{
  "campaignId": 546834,
  "advertiserId": 107967,
  "name": "Test Audio VAST XML",
  "creativeType": "AUDIO",
  "creativeSubtype": "VASTXML",
  "type": {
    "mediaType": "AUDIO"
  },
  "audio": {
    "vastXml": "<VAST version=\"2.0\"><Ad><InLine>...</InLine></Ad></VAST>"
  }
}

8. Audio – Hosted (AUDIO + HOSTED)

{
  "campaignId": 546834,
  "advertiserId": 107967,
  "name": "Test Hosted Audio",
  "creativeType": "AUDIO",
  "creativeSubtype": "HOSTED",
  "type": {
    "mediaType": "AUDIO"
  },
  "audio": {
    "mediaUrls": ["https://example.com/audio.mp3"]
  },
  "landingPageUrl": "https://example.com"
}

9. Native – Image (NATIVE + IMAGE)

Native banner with headline, caption, image. Requires native object with headline, caption, sponsoredBy, imageUrl, imageIcon.

{
    "campaignId": 546834,
    "advertiserId": 107967,
    "name": "Test Native Banner",
    "creativeType": "NATIVE",
    "creativeSubtype": "IMAGE",
    "type": {
        "mediaType": "NATIVE"
    },
    "size": {
        "width": 1200,
        "height": 627
    },
    "native": {
        "headline": "Headline text",
        "caption": "Caption text",
        "sponsoredBy": "Brand",
        "imageUrl": "https://placehold.co/1200x627.png",
        "imageIcon": "https://placehold.co/300x300.png"
    },
    "landingPageUrl": "https://example.com"
}

10. DOOH – Image (DOOH + IMAGE)

{
  "campaignId": 546834,
  "advertiserId": 107967,
  "name": "Test DOOH Image",
  "creativeType": "DOOH",
  "creativeSubtype": "IMAGE",
  "type": {
    "mediaType": "BANNER"
  },
  "size": {
    "width": 1920,
    "height": 1080
  },
  "dooh": {
    "imageUrl": "https://example.com/dooh-image.jpg"
  }
}

11. DOOH – Video (DOOH + VIDEO)

{
  "campaignId": 546834,
  "advertiserId": 107967,
  "name": "Test DOOH Video",
  "creativeType": "DOOH",
  "creativeSubtype": "VIDEO",
  "type": {
    "mediaType": "VAST"
  },
  "size": {
    "width": 1920,
    "height": 1080
  },
  "dooh": {
    "mediaUrls": ["https://example.com/dooh-video.mp4"]
  }
}

Response

  • 200: Response includes messages (array) and entity (the created creative object with id, name, type, status, etc.).
  • 4xx/5xx: Error body per API standards. Validation errors (e.g. missing required field, invalid creativeType/creativeSubtype) are returned in messages.

Reference

Body Params
string
required
length ≤ 400
type
object
required

Only mediaType is required for create. Use id/vendorId for vendor mapping (see Creative Type IDs).

size
object

Required for BANNER+TAG; optional or inferred for other types.

integer
required
int32
string
enum
required
Allowed:
string
required

e.g. TAG, HOSTED, VASTURL, VASTXML, IMAGE, VIDEO

string

Required for BANNER+TAG (or use display.htmlAsset).

string

Required for BANNER+HOSTED.

string

Required for hosted display, hosted video/audio, and Native.

video
object

Required for VIDEO creatives. Use vastUrl, vastXml, or mediaUrls per subtype.

audio
object

Required for AUDIO creatives. Use vastUrl, vastXml, or mediaUrls per subtype.

native
object

Required for NATIVE creatives (e.g. headline, caption, sponsoredBy, imageUrl, imageIcon).

dooh
object

Required for DOOH creatives. Use imageUrl for IMAGE subtype, mediaUrls for VIDEO.

display
object

Optional; display.htmlAsset can supply HTML for tag creatives.

channels
array of strings
channels
string
string
length ≤ 26
string

Optional tracking pixel URL.

string

Optional tracking pixel URL.

string

Optional tracking pixel URL.

string

Optional tracking pixel URL.

string

e.g. PENDING, INCOMPLETE; usually omit on create.

Responses

401

Unauthorized

403

Forbidden

404

Not Found

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json