Export Creatives
Queue a Google Sheet of the creatives this filter matches, and answer with what it will hold. A worker builds the sheet and DMs its link in Slack: a full export walks the feed to its end and uploads tens of megabytes, which is not a thing to hold a request open for.
columns are the table’s own keys, in the order they should appear; empty means every column
the shared spec holds. query, sort and task_id are GET /creatives’ params verbatim,
so an export is the rows on screen rather than a second definition of them.
POST
/api/v1/exports/creativesAuthorization
AuthorizationBearer token · headerrequiredor
AuthorizationOAuth2 access token · headerrequiredRequest body
requiredapplication/jsoncolumnsstring[]column keys, in order; empty means all of them
querystring | anyreact-querybuilder rule group as a JSON string
Show propertiesHide properties
Any of:
string
stringany
anysortstring | anysort as JSON: {"field": ..., "direction": 1|-1}
Show propertiesHide properties
Any of:
string
stringany
anysearchstring | anytasks only: the toolbar's search term
Show propertiesHide properties
Any of:
string
stringany
anytask_idstring | anycreatives only: only this task's creatives
Show propertiesHide properties
Any of:
string
stringany
anytitlestring | anyspreadsheet name; defaults to a stamped one
Show propertiesHide properties
Any of:
string
stringany
anyResponses
202Successful Response
successbooleandefault: true
dataExportAccepted | anyShow propertiesHide properties
Any of:
ExportAccepted
entitystringrequiredAllowed:
creativestasksrowsintegerrequiredcolumnsstring[]requiredany
anymessagestring | anyShow propertiesHide properties
Any of:
string
stringany
anyerrorsstring[] | anyShow propertiesHide properties
Any of:
string[]
Array of
stringstringany
any422Validation Error
detailValidationError[]Show propertiesHide properties
Array of
ValidationErrorlocstring | integer[]requiredShow propertiesHide properties
Array of
string | integerAny of:
string
stringinteger
integermsgstringrequiredtypestringrequiredinputanyctxobjectRequest
curl -X POST "/api/v1/exports/creatives" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"columns": [
"string"
],
"query": "string",
"sort": "string",
"search": "string",
"task_id": "string",
"title": "string"
}'const response = await fetch("/api/v1/exports/creatives", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"columns": [
"string"
],
"query": "string",
"sort": "string",
"search": "string",
"task_id": "string",
"title": "string"
})
});import requests
response = requests.post(
"/api/v1/exports/creatives",
headers={
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
json={
"columns": [
"string"
],
"query": "string",
"sort": "string",
"search": "string",
"task_id": "string",
"title": "string"
},
)Response
{
"success": true,
"data": {
"entity": "creatives",
"rows": 0,
"columns": [
"string"
]
},
"message": "string",
"errors": [
"string"
]
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}