The create page endpoint returns a Location: header with the full URL of the API endpoint for the new page.
If the title of the page includes a space (" "), the URL in the Location: header encodes it as a plus ("+").
When the client retrieves the URL in the Location: header, the router is unable to find the title with the +, and returns a 404.
There are two tasks for this issue, based on the robustness principle:
- Encode spaces with the preferred underscore ("_") instead of plus ("+")
- Consider accepting plus ("+") as an encoding for spaces when parsing page titles in the REST API
If the second one isn't possible (Because "+" is a valid character in MW page titles; I think there's been a long controversy about this, so my guess is probably not), we should make sure that it's documented.