Lookup Creatives
Resolve creatives by either handle: the campaign a name ran in, or the names a campaign
covers. Both directions of what POST /creatives/launched and POST /packs/launched recorded.
A POST because it reads a batch — up to 500 names and 500 campaign ids per call, more than a
URL holds, and the ad_id half costs one query per call rather than one per id.
Rows come back in the order asked, names first and campaign ids after, one row per handle
naming what it resolved to. Never a 404: a handle nothing carries gets an empty creatives in
its own row, and 422 stays for what the client got wrong — a blank handle, a batch over the
cap, a body naming neither list.
The packs are read once for the whole batch, not per row: they carry varied_elements, which
no creative has a field for, and they are what a card minted before the rollup falls back to.
The task owner and assignee are resolved the same way, one read of the user directory per batch.
/api/v1/integrations/creative-tests/creatives/lookupAuthorizationBearer token · headerrequiredapplication/jsonnamesstring[]ad_idsstring[]CreativeLookupResultquerystringrequiredhandleLookupHandlerequirednamead_idcreativesKumquatCreativeRef[]Show propertiesHide properties
KumquatCreativeRefidstringrequirednamestringrequiredad_idstring | anyShow propertiesHide properties
stringanylocaleLanguage | anyShow propertiesHide properties
stringanygeoGeo | anyShow propertiesHide properties
stringanysubjectstring | anyShow propertiesHide properties
stringanytopicstring | anyShow propertiesHide properties
stringanysubtopicsstring[]primary_anchorPrimaryAnchor | anyShow propertiesHide properties
stringanyaudiencestring | anyShow propertiesHide properties
stringanyawareness_stageAwarenessStage | anyShow propertiesHide properties
stringanymessaging_angleMessagingAngle | anyShow propertiesHide properties
stringanyhook_triggerHookTrigger | anyShow propertiesHide properties
stringanyhook_typeHookType | anyShow propertiesHide properties
stringanyad_formatAdFormat | anyShow propertiesHide properties
stringanytagsstring[]traffic_flowTrafficFlow | anyShow propertiesHide properties
stringanylandinganyShow propertiesHide properties
anyanyfunnelanyShow propertiesHide properties
anyanycppanyShow propertiesHide properties
anyanyvaried_elementsVariedElement[]task_ownerKumquatPerson | anyShow propertiesHide properties
namestring | anyShow propertiesHide properties
stringanyinitialsstring | anyShow propertiesHide properties
stringanyanyassigneeKumquatPerson | anyShow propertiesHide properties
namestring | anyShow propertiesHide properties
stringanyinitialsstring | anyShow propertiesHide properties
stringanyanycreated_atstring<date-time>requireddetailValidationError[]Show propertiesHide properties
ValidationErrorlocstring | integer[]requiredShow propertiesHide properties
string | integerstringintegermsgstringrequiredtypestringrequiredinputanyctxobjectcurl -X POST "/api/v1/integrations/creative-tests/creatives/lookup" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"names": [
"string"
],
"ad_ids": [
"string"
]
}'const response = await fetch("/api/v1/integrations/creative-tests/creatives/lookup", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"names": [
"string"
],
"ad_ids": [
"string"
]
})
});import requests
response = requests.post(
"/api/v1/integrations/creative-tests/creatives/lookup",
headers={
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
json={
"names": [
"string"
],
"ad_ids": [
"string"
]
},
)[
{
"query": "string",
"handle": "name",
"creatives": [
{
"id": "string",
"name": "string",
"ad_id": "string",
"locale": "EN",
"geo": "US",
"subject": "string",
"topic": "string",
"subtopics": [
"string"
],
"primary_anchor": "pain_led",
"audience": "string",
"awareness_stage": "unaware",
"messaging_angle": "pattern_interrupt",
"hook_trigger": "pattern_interrupt",
"hook_type": "pattern_interrupt",
"ad_format": "animation",
"tags": [
"string"
],
"traffic_flow": "W2A",
"landing": {},
"funnel": {},
"cpp": {},
"varied_elements": [
"hook"
],
"task_owner": {
"name": "string",
"initials": "string"
},
"assignee": {
"name": "string",
"initials": "string"
},
"created_at": "2019-08-24T14:15:22Z"
}
]
}
]{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}