post
https://backstage.taboola.com/backstage/api/1.0/creatives/bulk
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
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
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.
- An element without an
idcreates a new creative (same rules as Create a creative). - An element with an
idupdates that creative (same rules as Update a creative).
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 invalue, witherror=null.account_idis required in everyvalue.
Guidelines
is_atomic=falseis required. Atomic upsert is not supported; passingtrue(or omitting the parameter) returns 400.- Elements are validated independently. The response has one element per request element, in the same order: on success,
valueis the created or updated creative anderrorisnull; on a field validation failure,valueechoes the input anderrorholds the error (http_status,message, andoffending_fieldwhen relevant). In the example above, the third element is missingtitle.- An unknown creative
id, or a creative from another account, fails the whole request (404 or 403) before any element is processed.- Limit each request to a maximum of 200 creatives.
- Creative consolidation applies to each element. A consolidated element returns the existing creative, with a
creative_consolidationobject.
See also
- Bulk creative operations - how the 3 bulk endpoints differ.
- Bulk create creatives - atomic create within one account.
- Bulk delete creatives
