POST {{triliumHost}}/etapi/create-note
Authorization: {{authToken}}
Content-Type: application/json

{
  "parentNoteId": "root",
  "title": "Hello",
  "type": "code",
  "mime": "application/json",
  "content": "{}"
}

> {% client.global.set("createdNoteId", response.body.note.noteId); %}

###

GET {{triliumHost}}/etapi/notes/{{createdNoteId}}
Authorization: {{authToken}}

> {%
client.assert(response.status === 200);
client.assert(response.body.title === 'Hello');
client.assert(response.body.type === 'code');
client.assert(response.body.mime === 'application/json');
%}

###

PATCH {{triliumHost}}/etapi/notes/{{createdNoteId}}
Authorization: {{authToken}}
Content-Type: application/json

{
  "title": "Wassup",
  "type": "html",
  "mime": "text/html",
  "dateCreated": "2023-08-21 23:38:51.123+0200",
  "utcDateCreated": "2023-08-21 23:38:51.123Z"
}

###

GET {{triliumHost}}/etapi/notes/{{createdNoteId}}
Authorization: {{authToken}}

> {%
client.assert(response.status === 200);
client.assert(response.body.title === 'Wassup');
client.assert(response.body.type === 'html');
client.assert(response.body.mime === 'text/html');
client.assert(response.body.dateCreated == "2023-08-21 23:38:51.123+0200");
client.assert(response.body.utcDateCreated == "2023-08-21 23:38:51.123Z");
%}

###

PATCH {{triliumHost}}/etapi/notes/{{createdNoteId}}
Authorization: {{authToken}}
Content-Type: application/json

{
  "isProtected": true
}

> {%
    client.assert(response.status === 400);
    client.assert(response.body.code == "PROPERTY_NOT_ALLOWED");
%}

###

PATCH {{triliumHost}}/etapi/notes/{{createdNoteId}}
Authorization: {{authToken}}
Content-Type: application/json

{
  "title": true
}

> {%
    client.assert(response.status === 400);
    client.assert(response.body.code == "PROPERTY_VALIDATION_ERROR");
%}
