Take a tag off many sets
Take one tag off up to 200 sets at once, the same as brand.set.tags.remove on each: the sets lose the tag, their videos keep it. Sets without the tag, and ids that aren't the brand's, change nothing. An unknown tag answers 404.
bearerAuth videos:writeAuthorizationBearer <token>Personal access token. Scopes: account:read, creator:read, creator:earnings, managed:read, coach:read, brand:read, creators:read, videos:read, analytics:read, onboarding:read, onboarding:signatures, engagement:read, support:read, integrations:read, payouts:read, funds:read, billing:read, groups:write, videos:write, onboarding:write, sync:write, payouts:write.
Scope: videos:write
brandId*stringA brand id from GET /me or GET /creator/brands.
1 <= lengthtagId*stringA tag id from GET /brands/{brandId}/tags.
1 <= lengthapplication/json- body
setIds*array<>1–200 set ids (setId) from GET /brands/{brandId}/sets. Ids that aren't this brand's sets are ignored.
1 <= items <= 200Success.
application/json- response
untagged*numberSets that had the tag and no longer do.
curl -X DELETE 'https://example.com/api/v1/brands/string/tags/string/sets' \ -H 'Content-Type: application/json' \ -d '{ "setIds": [ "string" ]}'{ "untagged": 0}Put a tag on many sets POST
Put one tag on up to 200 sets at once, the same as brand.set.tags.add on each: every video in those sets gets the tag too. Sets that already have it are unchanged, so `tagged` can be lower than `matched`. Set ids that aren't the brand's are ignored (`matched` counts the brand's). An unknown tag answers 404.
Create a tag POST
Create a tag for the brand's videos and sets, as on the Tags page. A name already in use (ignoring case, client tags included) answers 409 conflict. Put it on videos with brand.video.tags.add, on sets with brand.set.tags.add or brand.tag.sets.add.