This is a great article explaining how to do this. Essentially, it creates a new .aspx
file in the Site Pages library. Here is the code they use (called from a page on the target web):
function CreateWikiPage() {
// Get Server relative url of Web(site)
var WebServerRelativeUrl = _spPageContextInfo.webServerRelativeUrl;
// Provide Internal name of the library here
var DocuentLibraryInternalName = "SitePages";
// Provide name of the wiki page to be created
var NewPageName = "NewRESTWikipage.aspx";
// Form relative url of the new page. This will be used in function below
var NewFileUrl = WebServerRelativeUrl + "/" + DocuentLibraryInternalName + "/" + NewPageName;
$.ajax({
// "templateFileType" values in below method
// StandardPage. The value = 0.
// WikiPage. The value = 1.
// FormPage. The value = 2.
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/GetFolderByServerRelativeUrl('" + WebServerRelativeUrl + "/" + DocuentLibraryInternalName + "')/Files/AddTemplateFile(urlOfFile='" + NewFileUrl + "',templateFileType=1)",
method: "POST",
headers: {
"accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function (data, status, xhr) {
console.log("Success");
},
error: function (xhr, status, error) {
console.log("Failed");
}
});
}