What is the proper way to validate and sanitize JSON response from REST API?

Thanks to @GTsvetanov from Stackoverflow.com.

Missing part of my code is $request->get_json_params(); for getting json request then compare it with schema using rest_validate_value_from_schema() then using rest_sanitize_value_from_schema() for saving proper data to database.

    $schema = $this->user_playtime_meta_schema();
    $val    = $request->get_json_params();//<-- my mistake
    $result = rest_validate_value_from_schema( $values, $schema );
    if ( ! is_wp_error( rest_validate_value_from_schema( $val, $schema ) ) ) {
        $sanitized = rest_sanitize_value_from_schema( $val, $schema );
    } else {
        return $result;
    }
    $user_meta = update_user_meta( $user_id, 'playtime', $sanitized );