diff --git a/lib/RedMiner/API.pm b/lib/RedMiner/API.pm
index 111846ffa830b57ab60e73a259b97783e5f296ea..3a6bead561654edc57bcab62ce3fc0223b444d89 100644
--- a/lib/RedMiner/API.pm
+++ b/lib/RedMiner/API.pm
@@ -6,7 +6,6 @@ use warnings;
 
 our $VERSION = '0.03';
 
-# 2DO: http://www.redmine.org/projects/redmine/wiki/Rest_api#User-Impersonation
 # 2DO: implement (un)?wrapping
 
 use URI;
@@ -158,12 +157,16 @@ B<host>: RedMine host. Beside host name, may include port, path and/or URL schem
 
 =item *
 
-B<key>: API key. For additional information, please refer to http://www.redmine.org/projects/redmine/wiki/Rest_api#Authentication
+B<key>: API key. For details, please refer to http://www.redmine.org/projects/redmine/wiki/Rest_api#Authentication
 
 =item *
 
 B<user>, B<pass>: User name and password for password-based authentication
 
+=item *
+
+B<work_as>: User login for impersonation. For details, please refer to http://www.redmine.org/projects/redmine/wiki/Rest_api#User-Impersonation.
+
 =back
 
 =cut
@@ -179,7 +182,7 @@ sub new
 		ua       => LWP::UserAgent->new,
 	};
 
-	foreach my $param (qw/host user pass key/) {
+	foreach my $param (qw/host user pass key work_as/) {
 		$self->{$param} = $arg{$param} // '';
 	}
 
@@ -205,6 +208,9 @@ sub new
 	if (length $self->{key}) {
 		$self->{ua}->default_header('X-Redmine-API-Key' => $self->{key});
 	}
+	if (length $self->{work_as}) {
+		$self->{ua}->default_header('X-Redmine-Switch-User' => $self->{work_as});
+	}
 
 	bless $self, $class;
 }