For me page.unlock() with system user having high privileges didn't work. But something like below worked for me thoughpage = pageManager.getPage(pagePath);if (page.isLocked()) { Node node = session.getNode(pagePath+"/jcr:content"); node.removeMixin("mix:lockable"); session.save();}