Rename a tag in every case that carries it
const url = 'https://beta-api.plune.ai/v1/settings/tags/rename';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"from":"smoke","to":"regression"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://beta-api.plune.ai/v1/settings/tags/rename \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "from": "smoke", "to": "regression" }'Every case carrying from has its title rewritten with to in place of from — the clean title, then the tags, each once, as the case form writes it — so each case gets its own audit entry with a diff and its text version does not move (AC-09, AC-10). One transaction for all of them. to is checked against the tag rule first (400). If to already exists the outcome is a merge of from into to: a case carrying both ends up with one. A from nobody carries affects nothing and is not an error. For an automated case the title in the code stays as it was — the dashboard warns before confirming.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Example
smokeExample
regressionResponses
Section titled “ Responses ”How many cases were rewritten
object
Cases whose title was rewritten.
Example generated
{ "affected": 1}The new name is not a valid tag, or the body is invalid
object
Example
{ "error": "invalid tag 'regression suite' — a tag is 1 to 119 characters from \\w = - _ ( ) . : &"}No / invalid token or session
Rate-limited: either the per-route throttle or a tenant quota. Retry-After carries the seconds until the window rolls over.
object
Example generated
{ "error": "example"}Headers
Section titled “Headers ”Seconds until the window rolls over