POST {{triliumHost}}/etapi/create-note Authorization: {{authToken}} Content-Type: application/json { "parentNoteId": "root", "title": "Hello parent", "type": "text", "content": "Hi there!" } > {% client.assert(response.status === 201); client.global.set("parentNoteId", response.body.note.noteId); client.global.set("parentBranchId", response.body.branch.branchId); %} ### Create inheritable parent attribute POST {{triliumHost}}/etapi/attributes Authorization: {{authToken}} Content-Type: application/json { "noteId": "{{parentNoteId}}", "type": "label", "name": "mylabel", "value": "", "isInheritable": true, "position": 10 } > {% client.assert(response.status === 201); client.global.set("parentAttributeId", response.body.attributeId); %} ### Create child note under root POST {{triliumHost}}/etapi/create-note Authorization: {{authToken}} Content-Type: application/json { "parentNoteId": "root", "title": "Hello child", "type": "text", "content": "Hi there!" } > {% client.assert(response.status === 201); client.global.set("childNoteId", response.body.note.noteId); client.global.set("childBranchId", response.body.branch.branchId); %} ### Create child attribute POST {{triliumHost}}/etapi/attributes Authorization: {{authToken}} Content-Type: application/json { "noteId": "{{childNoteId}}", "type": "label", "name": "mylabel", "value": "val", "isInheritable": false, "position": 10 } > {% client.assert(response.status === 201); client.global.set("childAttributeId", response.body.attributeId); %} ### Clone child to parent POST {{triliumHost}}/etapi/branches Authorization: {{authToken}} Content-Type: application/json { "noteId": "{{childNoteId}}", "parentNoteId": "{{parentNoteId}}" } > {% client.assert(response.status === 201); client.assert(response.body.parentNoteId == client.global.get("parentNoteId")); %} ### GET {{triliumHost}}/etapi/notes/{{childNoteId}} Authorization: {{authToken}} > {% function hasAttribute(list, attributeId) { for (let i = 0; i < list.length; i++) { if (list[i]["attributeId"] === attributeId) { return true; } } return false; } client.log(JSON.stringify(response.body.attributes)); client.assert(response.status === 200); client.assert(response.body.noteId == client.global.get("childNoteId")); client.assert(response.body.attributes.length == 2); client.assert(hasAttribute(response.body.attributes, client.global.get("parentAttributeId"))); client.assert(hasAttribute(response.body.attributes, client.global.get("childAttributeId"))); %}