Rename, re-parent, reorder or re-kind a node
const url = 'https://beta-api.plune.ai/v1/suites/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","parentId":"example","kind":"folder","position":1,"description":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://beta-api.plune.ai/v1/suites/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "parentId": "example", "kind": "folder", "position": 1, "description": "example" }'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Request Body required
Section titled “Request Body required ”Rename, re-parent, reorder, re-kind. A parent that would close a cycle, or that is a suite, is rejected with 400. A change of kind is refused with 409 while the node still holds what the new kind cannot: test cases (suite → folder — POST /v1/suites/{id}/convert-to-folder moves them into a child suite) or child suites (folder → suite — move or delete them first).
object
Three states: omit to keep the current parent, a folder id to move under it, or null to move this node back to the root. A move without position lands after the last sibling.
The new slot among the siblings; the others close ranks.
null clears it.
Responses
Section titled “ Responses ”Updated
A node of the tree as stored: the authoring core plus server-owned scoping metadata. The tree is a filesystem (B-7): a folder holds folders and suites, a suite holds test cases.
object
Absent on a root node. Always a folder.
Order among siblings — dense and 0-based; every write that places a node renumbers them.
Free text, up to 16 384 bytes of UTF-8. Absent when empty.
The spec path this suite was filed from (an automated case’s specRef, normalised). Set by filing alone and never by hand; absent on nodes a person made.
Example
{ "schemaVersion": 1, "name": "Checkout", "kind": "folder", "file": "apps/web/e2e/catalog/search.spec.ts"}Invalid body, unknown/foreign parent, a parent that would create a cycle, or a parent that is a suite
object
Example generated
{ "error": "example"}No / invalid token or session
Not found or not yours
object
Example generated
{ "error": "example"}The kind cannot change yet: a suite that still holds test cases, or a folder that still holds child suites
object
Example generated
{ "error": "example"}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