We are moving from a custom CMS to Sitefinity and there is a need to migrate existing pages (meaning pages in sitefinity need to have exactly same urls they had in our custom CMS).
So I followed the guide of how to create a page using Sitefinity API and managed to do that. Url is set through UrlName property of PageNode entity of a page:
If it's a simple string with dash separated words - all good. BUT! Urls with slashes seems like can't be set through UrlName of PageNode. So the issue is that UrlName cant have slashes in it, because it leads to 404 errors on live site for that page. Page is safely created and published, but when you try to access it in sitefinity/pages list or on live site - it leads to 404. The case is described here https://knowledgebase.progress.com/articles/Article/Page-not-found-when-the-page-is-created-with-the-API
Note: custom URL can be set when page is created through Sitefinity UI. I wonder how can it be imitated through Native API or any other way.