rest_api_init only fires on a REST request, which is efficient and means anything registered there does not exist during a normal page load — including the route definitions…
4.7 shipped the content endpoints. What moving off the feature plugin involves, why authentication is still the unsolved half, and the read API every site now exposes.
Omitting permission_callback registers a route that anyone can call. It works, there is no error, and this year there is not even a warning — the notice that…
4.4 shipped the REST API infrastructure — the server, the routing, register_rest_route() — and none of the content endpoints. So the function exists on a stock install and…