Add or remove labels on many items
labels_bulk_edit[writes flayr data · write scope] Adds and/or removes labels on up to 100 content items in one call: each item becomes (labels − remove) + add. Published items are fine (labels are metadata). Each item succeeds or fails on its own; read results. Removing source:ai-generated does not turn a post's AI label off: with no explicit toggle it follows how the media was made, and the result carries a warning. For real footage also call update_content with aiGenerated: false on each item.
(Wraps POST /api/v2/content/labels.)
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"ids": "<ids>"
},
"name": "labels_bulk_edit"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| add | No | Labels to add. Normalized "key:value" labels (keys and values are lower-cased, spaces become "-"). Linked keys: campaign:<media campaign id>, experiment:<experiment id> (+ variant:<name> or the experiment's compareKey), type:<post type> (short, long-form, carousel, image, text, reel, story, poem, timelapse…). Free keys work too: cut:opus, lane:tech, parent:pantheon-part-1, ab:<pair id> (an A/B pair). Labels are copied onto every post made from the draft, and compared in GET /api/v2/analytics/experiments. | |
| ids | Yes | Content ids (GET /api/v2/content). | |
| remove | No | Labels to remove. Not also in `add`. |