Skip to content
Kumquat
Esc
↑↓navigate↵open⌘Jpreview

Creatives Gallery

Keyset-paginated gallery feed of field-trimmed CreativeCards — the detail endpoints below return the full Creative. The first page (no cursor) also carries total; follow meta.next_cursor until it is null. included carries the tasks this page’s cards reference, keyed by id.

GET/api/v1/creatives/gallery
Authorization
AuthorizationBearer token · headerrequired
or
AuthorizationOAuth2 access token · headerrequired
Query parameters
querystring | any
react-querybuilder rule group as a JSON string
sortstring | any
Sort as JSON string: {"field": ..., "direction": 1|-1}
limitinteger
min 1 · max 100 · default: 24
cursorstring | any
opaque keyset cursor from the previous page
task_idstring | any
return only creatives belonging to this task
Responses
200Successful Response
successboolean
default: true
dataCreativeGallery | any
Show properties
Any of:
CreativeGallery
creativesCreativeCard[]required
Show properties
Array of CreativeCard
idstringrequired
namestringrequired
media_typeMediaTyperequired
Allowed:VIDSTAANIWEBLNDENDC
test_statusTestStatus
Allowed:not_testedin_testtestedpaused
tag_slugsstring[]
notesstring | any
Show properties
Any of:
string
string
any
any
metricsCreativeCardMetrics | any
Show properties
Any of:
CreativeCardMetrics
spendnumber | any
Show properties
Any of:
number
number
any
any
purchasesinteger | any
Show properties
Any of:
integer
integer
any
any
cpinumber | any
Show properties
Any of:
number
number
any
any
ctrnumber | any
Show properties
Any of:
number
number
any
any
statusMetricStatus | any
Show properties
Any of:
MetricStatus
string
any
any
confidenceMetricConfidenceBlock | any
Show properties
Any of:
MetricConfidenceBlock
hookMetricConfidence | any
Show properties
Any of:
MetricConfidence
string
any
any
holdMetricConfidence | any
Show properties
Any of:
MetricConfidence
string
any
any
ctrMetricConfidence | any
Show properties
Any of:
MetricConfidence
string
any
any
any
any
benchMetricBench | any
Show properties
Any of:
MetricBench
hook_mednumber | any
Show properties
Any of:
number
number
any
any
hold_mednumber | any
Show properties
Any of:
number
number
any
any
cohort_ninteger | any
Show properties
Any of:
integer
integer
any
any
hook_indexnumber | any
Show properties
Any of:
number
number
any
any
hold_indexnumber | any
Show properties
Any of:
number
number
any
any
any
any
wCreativeCardWindows | any
Show properties
Any of:
CreativeCardWindows
d7CreativeCardRates | any
Show properties
Any of:
CreativeCardRates
hookRateCI | any
Show properties
Any of:
RateCI
vnumber | any
Show properties
Any of:
number
number
any
any
lonumber | any
Show properties
Any of:
number
number
any
any
hinumber | any
Show properties
Any of:
number
number
any
any
hwnumber | any
Show properties
Any of:
number
number
any
any
ninteger | any
Show properties
Any of:
integer
integer
any
any
any
any
holdRateCI | any
Show properties
Any of:
RateCI
vnumber | any
Show properties
Any of:
number
number
any
any
lonumber | any
Show properties
Any of:
number
number
any
any
hinumber | any
Show properties
Any of:
number
number
any
any
hwnumber | any
Show properties
Any of:
number
number
any
any
ninteger | any
Show properties
Any of:
integer
integer
any
any
any
any
ctrRateCI | any
Show properties
Any of:
RateCI
vnumber | any
Show properties
Any of:
number
number
any
any
lonumber | any
Show properties
Any of:
number
number
any
any
hinumber | any
Show properties
Any of:
number
number
any
any
hwnumber | any
Show properties
Any of:
number
number
any
any
ninteger | any
Show properties
Any of:
integer
integer
any
any
any
any
any
any
any
any
any
any
mediaCreativeCardMedia | any
Show properties
Any of:
CreativeCardMedia
kindMediaKindrequired
What the synced file actually is (from its mime type) — unlike `MediaType`, which is the declared taxonomy. A VID creative with an `image` media block is a data-quality flag. `HTML` is a playable: one self-contained page, with no still of its own — its poster is the thumbnail Drive renders for the file (see `gdrive_sync.media.media_kind`, which owns this vocabulary on the writing side).
Allowed:videoimagehtml
urlstringrequired
preview_urlstring | any
Show properties
Any of:
string
string
any
any
duration_msinteger | any
Show properties
Any of:
integer
integer
any
any
any
any
task_idstringrequired
created_atstring<date-time>required
includedCreativeIncludes
Related entities referenced by the payload's creatives, keyed by id. Sideloaded rather than nested: the creative keeps its `task_id`/`assignee_id`/ `product_id` and never changes shape, so a list of 100 creatives sharing one task carries that task once. A dangling id (deleted task, unknown product) is simply absent from the map — resolve defensively on the client. `users` and `products` are empty for the gallery feed, whose `CreativeCard` is trimmed of people and product — its cards reference nothing but the task.
Show properties
tasksobject
usersobject
productsobject
derived_tasksTaskItem[]
Show properties
Array of TaskItem
idstringrequired
namestringrequired
numberinteger | any
Show properties
Any of:
integer
integer
any
any
generated_namestring | any
Show properties
Any of:
string
string
any
any
statusTaskStatus | any
Show properties
Any of:
TaskStatus
string
any
any
task_typeTaskType | any
Show properties
Any of:
TaskType
string
any
any
work_streamWorkStream | any
Show properties
Any of:
WorkStream
string
any
any
variantsCreativeVariant[]
Show properties
Array of CreativeVariant
idstringrequired
namestringrequired
origin_idstringrequired
task_idstringrequired
task_typeTaskTyperequired
Allowed:NEWVARLOCWHTNEWDESVARDESDESCLNVARAIADPTRSZ
sourceSource | any
Show properties
Any of:
Source
string
any
any
geoGeo | any
Show properties
Any of:
Geo
string
any
any
languageLanguage | any
Show properties
Any of:
Language
string
any
any
resolutionResolution | any
Show properties
Any of:
Resolution
string
any
any
in_work_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
assignee_idstring | any
Show properties
Any of:
string
string
any
any
task_owner_idstring | any
Show properties
Any of:
string
string
any
any
metaCreativeFeedMetarequired
`total` is served on the first page only (no cursor). The filter and sort schemas are not here: they do not vary by page, so they live on `GET /creatives/schema` and are fetched once instead of on every page and every filter change.
Show properties
next_cursorstring | any
Show properties
Any of:
string
string
any
any
totalinteger | any
Show properties
Any of:
integer
integer
any
any
any
any
messagestring | any
Show properties
Any of:
string
string
any
any
errorsstring[] | any
Show properties
Any of:
string[]
Array of string
string
any
any
422Validation Error
detailValidationError[]
Show properties
Array of ValidationError
locstring | integer[]required
Show properties
Array of string | integer
Any of:
string
string
integer
integer
msgstringrequired
typestringrequired
inputany
ctxobject
Request
curl -X GET "/api/v1/creatives/gallery" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "success": true,
  "data": {
    "creatives": [
      {
        "id": "string",
        "name": "string",
        "media_type": "VID",
        "test_status": "not_tested",
        "tag_slugs": [
          "string"
        ],
        "notes": "string",
        "metrics": {
          "spend": 0,
          "purchases": 0,
          "cpi": 0,
          "ctr": 0,
          "status": "learning",
          "confidence": {
            "hook": "ok",
            "hold": "ok",
            "ctr": "ok"
          },
          "bench": {
            "hook_med": 0,
            "hold_med": 0,
            "cohort_n": 0,
            "hook_index": 0,
            "hold_index": 0
          },
          "w": {
            "d7": {
              "hook": {
                "v": 0,
                "lo": 0,
                "hi": 0,
                "hw": 0,
                "n": 0
              },
              "hold": {
                "v": 0,
                "lo": 0,
                "hi": 0,
                "hw": 0,
                "n": 0
              },
              "ctr": {
                "v": 0,
                "lo": 0,
                "hi": 0,
                "hw": 0,
                "n": 0
              }
            }
          }
        },
        "media": {
          "kind": "video",
          "url": "string",
          "preview_url": "string",
          "duration_ms": 0
        },
        "task_id": "string",
        "created_at": "2019-08-24T14:15:22Z"
      }
    ],
    "included": {
      "tasks": {
        "property1": {
          "id": "string",
          "name": "string",
          "number": 0,
          "generated_name": "string",
          "status": "backlog",
          "task_type": "NEW",
          "work_stream": "Performance"
        },
        "property2": {
          "id": "string",
          "name": "string",
          "number": 0,
          "generated_name": "string",
          "status": "backlog",
          "task_type": "NEW",
          "work_stream": "Performance"
        }
      },
      "users": {
        "property1": {
          "id": "string",
          "name": "string",
          "email": "string",
          "image_url": "string"
        },
        "property2": {
          "id": "string",
          "name": "string",
          "email": "string",
          "image_url": "string"
        }
      },
      "products": {
        "property1": {
          "id": "string",
          "name": "string"
        },
        "property2": {
          "id": "string",
          "name": "string"
        }
      },
      "derived_tasks": [
        {
          "id": "string",
          "name": "string",
          "number": 0,
          "generated_name": "string",
          "status": "backlog",
          "task_type": "NEW",
          "work_stream": "Performance"
        }
      ],
      "variants": [
        {
          "id": "string",
          "name": "string",
          "origin_id": "string",
          "task_id": "string",
          "task_type": "NEW",
          "source": "META",
          "geo": "US",
          "language": "EN",
          "resolution": "1080x1920",
          "in_work_at": "2019-08-24T14:15:22Z",
          "assignee_id": "string",
          "task_owner_id": "string"
        }
      ]
    },
    "meta": {
      "next_cursor": "string",
      "total": 0
    }
  },
  "message": "string",
  "errors": [
    "string"
  ]
}