Is there an option to execute javascript file only on plugin activation

Here is the solution:

register_activation_hook( __FILE__, 'rest_api_hook' );

/**
 * Runs only when the plugin is activated.
 */
function rest_api_hook() {

    /* Create data */
    set_transient( 'rest_api', true, 5 );
}

/* Add notice */
add_action( 'admin_notices', 'rest_api_hook_exec' );

/**
 * Rest API Notice on Activation.
 */
function rest_api_hook_exec() {

    /* Check transient, if is available display notice */
    if( get_transient( 'rest_api' ) ) { 

        // Execute script
        wp_enqueue_script('activation_data_api', plugins_url('assets/js/activation_data_api.js', __FILE__));

        // Delete script after executing
        delete_transient( 'rest_api' );
    }
}