riddle_tag
Puts a tag on Riddles or takes it off again, by "action" - ONE assignment per Riddle, never the tag itself (riddle_tag_list reads the labels of a project, riddle_tag_delete removes one). "add" gives one Riddle (UUID) or many (UUIDs, max 100) the tag named by tagName - created in each Riddle's OWN project if it has none of that name, so one call can span projects - or by tagId, which exists in one project and therefore works only for that project's Riddles; re-tagging changes nothing and needs no publish. "remove" takes the tag off again and creates nothing: a tag the Riddle or its project does not have is an error for that Riddle. Untagging the last carrier deletes the tag itself, unless a question bank still uses it - so a tag rarely has to be deleted by hand. There is no projectId here: a tag lives in the project of the Riddle it is put on, which is where the scope comes from. Both actions return the tag plus all tags of the Riddle, and with UUIDs the {bulk, operation, summary, results} envelope with one entry per Riddle, a failure (no edit permission, a tagId from another project) reported as that entry's "error" without stopping the others.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| UUID | No | The UUID of the single Riddle to tag or untag. Pass either this or UUIDs. | |
| UUIDs | No | Several Riddles to tag or untag at once, as Riddle UUID strings, e.g. ["6FA740EW", "OllsevHa"] (max 100). Pass either this or UUID. | |
| tagId | No | The ID of an existing tag, as returned by riddle_tag_list. Pass either this or tagName. | |
| action | Yes | What to do with the tag on those Riddles: "add" it or "remove" it. Each takes UUID or UUIDs and tagName or tagId. | |
| tagName | No | The name of the tag. On "add" the Riddle\'s project gets the tag of that name, created if it has none yet; on "remove" nothing is ever created and a name the project does not have is an error. Pass either this or tagId. |