Bulk upsert creatives

Create or update creatives across one or more accounts in a single request. Each element carries its own account_id; an element with an id is updated, an element without an id is created. Pass is_atomic=false - atomic upsert is not supported.

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

Overview

Create or update creatives across one or more accounts in a single request. There is no account in the path: each element carries its own account_id.

POST /backstage/api/1.0/creatives/bulk?is_atomic=false
{
  "elements": [
    {
      "value": {
        "account_id": "demo-advertiser",
        "creative_type": "STATIC_IMAGE",
        "name": "Autumn launch hero",
        "url": "https://www.demo-advertiser.com/autumn",
        "thumbnail_url": "https://cdn.demo-advertiser.com/thumbnails/autumn.jpg",
        "title": "The autumn collection is here"
      },
      "error": null
    },
    {
      "value": {
        "account_id": "demo-advertiser",
        "id": 4321000001,
        "title": "Summer sale: up to 60% off"
      },
      "error": null
    },
    {
      "value": {
        "account_id": "demo-advertiser-uk",
        "creative_type": "STATIC_IMAGE",
        "name": "Autumn launch hero UK",
        "url": "https://www.demo-advertiser.co.uk/autumn",
        "thumbnail_url": "https://cdn.demo-advertiser.com/thumbnails/autumn-uk.jpg"
      },
      "error": null
    }
  ]
}
{
  "elements": [
    {
      "value": {
        "id": 4321000021,
        "name": "Autumn launch hero",
        "account_id": "demo-advertiser",
        "status": "ACTIVE",
        "creative_type": "STATIC_IMAGE",
        "title": "The autumn collection is here",
        ...
      },
      "error": null
    },
    {
      "value": {
        "id": 4321000001,
        "name": "Summer sale hero",
        "account_id": "demo-advertiser",
        "status": "ACTIVE",
        "creative_type": "STATIC_IMAGE",
        "title": "Summer sale: up to 60% off",
        ...
      },
      "error": null
    },
    {
      "value": {
        "account_id": "demo-advertiser-uk",
        "creative_type": "STATIC_IMAGE",
        "name": "Autumn launch hero UK",
        "url": "https://www.demo-advertiser.co.uk/autumn",
        "thumbnail_url": "https://cdn.demo-advertiser.com/thumbnails/autumn-uk.jpg"
      },
      "error": {
        "http_status": 400,
        "message": "Missing required field",
        "offending_field": "title"
      }
    }
  ]
}
{
  "http_status": 400,
  "message": "Atomic operation is not supported",
  "offending_field": "is_atomic"
}
📘

Request object

elements - a list of up to 200 elements. Each element wraps one creative object in value, with error = null. account_id is required in every value.

🚧

Guidelines

  1. is_atomic=false is required. Atomic upsert is not supported; passing true (or omitting the parameter) returns 400.
  2. Elements are validated independently. The response has one element per request element, in the same order: on success, value is the created or updated creative and error is null; on a field validation failure, value echoes the input and error holds the error (http_status, message, and offending_field when relevant). In the example above, the third element is missing title.
  3. An unknown creative id, or a creative from another account, fails the whole request (404 or 403) before any element is processed.
  4. Limit each request to a maximum of 200 creatives.
  5. Creative consolidation applies to each element. A consolidated element returns the existing creative, with a creative_consolidation object.
📘

See also

Query Params
boolean
required

Must be false. Each element succeeds or fails independently; failures are reported per element in the response.

Body Params
json
required
Defaults to { "elements": [ { "value": { "account_id": "demo-advertiser", "creative_type": "STATIC_IMAGE", "url": "https://www.demo-advertiser.com/summer-sale", "thumbnail_url": "https://cdn.demo-advertiser.com/thumbnails/summer-sale.jpg", "title": "Summer sale: up to 50% off" }, "error": null }, { "value": { "account_id": "demo-advertiser", "id": 4321000001, "title": "Summer sale: up to 60% off" }, "error": null } ] }

An object with an elements list; each element wraps a creative in value - refer to the notes provided.

Responses

Language
Credentials
OAuth2
LoadingLoading…
Response
Choose an example:
application/json