Get Packs
The packs whose work is finished — done and archived — newest completion first, each
with the creatives that have a file to upload.
Page with limit and cursor: while more packs remain the response carries the next cursor in
the X-Next-Cursor header, and its absence ends the stream. Poll with created_after set to
the newest completed_at already seen; a pack that never went through the workflow has no
completion date and arrives after everything that has one.
A pack whose creatives are all still un-synced is not returned at all: it would be indistinguishable from one that lost them.
GET
/api/v1/integrations/creative-tests/packsAuthorization
AuthorizationBearer token · headerrequiredStatic token issued to an integrating platform (INTEGRATIONS__TOKENS)
Query parameters
projectstring | anyproduct the pack belongs to, e.g. `CNI`
sourceSource | anyad source the pack was briefed for
created_afterstring<date-time> | anyonly packs completed at or after this instant — the polling cursor
media_typeKumquatMediaType | anygeoGeo | anylocaleLanguage | anylimitintegermin 1 · max 200 · default: 50
cursorstring | anyopaque keyset cursor from the previous page
Responses
200Successful Response
Array of
KumquatPackidstringrequirednamestringrequiredlocaleLanguagerequiredAllowed:
ENFRDEPTESUACA-FRITUKTRPLJAHEMXBRDANOCHSVNLBEIEATCSROHIBGZHKOELgeoGeo | anyShow propertiesHide properties
Any of:
Geo
stringany
anycreativesKumquatCreative[]Show propertiesHide properties
Array of
KumquatCreativeidstringrequirednamestringrequiredlocaleLanguagerequiredAllowed:
ENFRDEPTESUACA-FRITUKTRPLJAHEMXBRDANOCHSVNLBEIEATCSROHIBGZHKOELgeoGeo | anyShow propertiesHide properties
Any of:
Geo
stringany
anytask_typeTaskTyperequiredAllowed:
NEWVARLOCWHTNEWDESVARDESDESCLNVARAIADPTRSZmedia_typeKumquatMediaTyperequiredWhat an ad account has to know about a file: whether it is a still or a moving image.
A playable is neither, and has no value here — see `_to_creative`, which leaves those out
rather than mislabelling them.
Allowed:
staticvideoassetKumquatAssetrequiredA binary stored by Kumquat: the creative media itself or its thumbnail.
`file_name` carries the extension, so downloads keep a name Meta and S3 accept even when the
creative name has none at all.
Show propertiesHide properties
file_namestringrequiredurlstring | anyShow propertiesHide properties
Any of:
string
stringany
anyposter_urlstring | anyShow propertiesHide properties
Any of:
string
stringany
anysha256string | anyShow propertiesHide properties
Any of:
string
stringany
anymime_typestring | anyShow propertiesHide properties
Any of:
string
stringany
anysize_bytesinteger | anyShow propertiesHide properties
Any of:
integer
integerany
anyaspect_ratioAspectRatio | anyShow propertiesHide properties
Any of:
AspectRatio
stringany
anyresolutionResolution | anyShow propertiesHide properties
Any of:
Resolution
stringany
anysubjectstring | anyShow propertiesHide properties
Any of:
string
stringany
anysubtopicsstring[]topicstring | anyShow propertiesHide properties
Any of:
string
stringany
anyfunnelanyShow propertiesHide properties
Any of:
any
anyany
anycppanyShow propertiesHide properties
Any of:
any
anyany
anyad_formatAdFormat | anyShow propertiesHide properties
Any of:
AdFormat
stringany
anyhypothesisstring | anyShow propertiesHide properties
Any of:
string
stringany
anyhook_typeHookType | anyShow propertiesHide properties
Any of:
HookType
stringany
anyhook_triggerHookTrigger | anyShow propertiesHide properties
Any of:
HookTrigger
stringany
anytraffic_flowTrafficFlow | anyShow propertiesHide properties
Any of:
TrafficFlow
stringany
anylandinganyShow propertiesHide properties
Any of:
any
anyany
anycreated_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anyproduct_namestring | anyShow propertiesHide properties
Any of:
string
stringany
anycreated_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anycompleted_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
any422Validation Error
detailValidationError[]Show propertiesHide properties
Array of
ValidationErrorlocstring | integer[]requiredShow propertiesHide properties
Array of
string | integerAny of:
string
stringinteger
integermsgstringrequiredtypestringrequiredinputanyctxobjectRequest
curl -X GET "/api/v1/integrations/creative-tests/packs" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("/api/v1/integrations/creative-tests/packs", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.get(
"/api/v1/integrations/creative-tests/packs",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
[
{
"id": "string",
"name": "string",
"locale": "EN",
"geo": "US",
"creatives": [
{
"id": "string",
"name": "string",
"locale": "EN",
"geo": "US",
"task_type": "NEW",
"media_type": "static",
"asset": {
"file_name": "string",
"url": "string",
"poster_url": "string",
"sha256": "string",
"mime_type": "string",
"size_bytes": 0
},
"aspect_ratio": "16x9",
"resolution": "1080x1920",
"subject": "string",
"subtopics": [
"string"
],
"topic": "string",
"funnel": {},
"cpp": {},
"ad_format": "animation",
"hypothesis": "string",
"hook_type": "pattern_interrupt",
"hook_trigger": "pattern_interrupt",
"traffic_flow": "W2A",
"landing": {},
"created_at": "2019-08-24T14:15:22Z"
}
],
"product_name": "string",
"created_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z"
}
]{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}