Creative Schemas
Filter fields and sort options for both creative feeds. Neither varies by page, by cursor or by caller, so the client fetches this once per session rather than on every page and every filter change.
Cached under one key for everyone. Nothing in the API writes creatives — the sync worker
and the metrics batch do — so a newly used subject/topic value appears when the TTL
lapses, or immediately via kumquat-cli invalidate-response-cache. Product and user
writes drop the key directly, since they supply the id-valued fields’ options.
A tag write drops the key too, for the same reason: tag_slugs offers the Tag Dictionary,
so a tag coined on a brief has to be filterable before the TTL lapses.
Deliberately no lock=True, for the reason spelled out on GET /tasks/schema.
/api/v1/creatives/schemaAuthorizationBearer token · headerrequiredAuthorizationOAuth2 access token · headerrequiredsuccessbooleandataCreativeSchemas | anyShow propertiesHide properties
filter_schemaobjectrequiredsort_schemaobjectrequiredanymessagestring | anyShow propertiesHide properties
stringanyerrorsstring[] | anyShow propertiesHide properties
stringstringanycurl -X GET "/api/v1/creatives/schema" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("/api/v1/creatives/schema", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.get(
"/api/v1/creatives/schema",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
){
"success": true,
"data": {
"filter_schema": {},
"sort_schema": {}
},
"message": "string",
"errors": [
"string"
]
}