WordPress exposes endpoints at `/wp-json/wp/v2/`. Custom endpoints are registered via `register_rest_route` with permission callbacks and schema validation.
php
add_action('rest_api_init', function() {
register_rest_route('app/v1', '/data', [
'methods' => 'GET',
'callback' => 'get_custom_data',
'permission_callback' => '__return_true'
]);
});