diff --git a/rbtools/api/resource.py b/rbtools/api/resource.py
index 4c2674d206685dc297795ebd68be44b115363944..39f895588ed3592de038c8fb386434be99de3d2f 100644
--- a/rbtools/api/resource.py
+++ b/rbtools/api/resource.py
@@ -152,6 +152,11 @@ class Resource(object):
         else:
             return field
 
+    @property
+    def links(self):
+        """Get the resource's links."""
+        return ResourceDictField(self, self._links)
+
     @request_method_decorator
     def _get_url(self, url, **kwargs):
         return HttpRequest(url, query_args=kwargs)
diff --git a/rbtools/commands/status.py b/rbtools/commands/status.py
index 67307962616dfc809686e5612cec982f4ce98824..b3c8948aa9e88b1c9a282138546b7105444658db 100644
--- a/rbtools/commands/status.py
+++ b/rbtools/commands/status.py
@@ -2,7 +2,7 @@ import logging
 
 from rbtools.commands import Command, Option
 from rbtools.utils.repository import get_repository_id
-from rbtools.utils.users import get_user
+from rbtools.utils.users import get_username
 
 
 class Status(Command):
@@ -35,10 +35,10 @@ class Status(Command):
         server_url = self.get_server_url(repository_info, tool)
         api_client, api_root = self.get_api(server_url)
         self.setup_tool(tool, api_root=api_root)
-        user = get_user(api_client, api_root, auth_required=True)
+        username = get_username(api_client, api_root, auth_required=True)
 
         query_args = {
-            'from_user': user.username,
+            'from_user': username,
             'status': 'pending',
             'expand': 'draft',
         }
diff --git a/rbtools/utils/users.py b/rbtools/utils/users.py
index baf24b9bb46f3285365882cb70f505aeed8176ba..96c3918cc0c9278537ef3ee1b3256e07654c6c25 100644
--- a/rbtools/utils/users.py
+++ b/rbtools/utils/users.py
@@ -6,12 +6,12 @@ from rbtools.api.errors import AuthorizationError
 from rbtools.commands import CommandError
 
 
-def get_user(api_client, api_root, auth_required=False):
-    """Return the user resource for the current session
+def get_authenticated_session(api_client, api_root, auth_required=False):
+    """Return an authenticated session.
 
     None will be returned if the user is not authenticated, unless the
-    'auth_required' parameter is True, in which case the user will be
-    prompted to login.
+    'auth_required' parameter is True, in which case the user will be prompted
+    to login.
     """
     session = api_root.get_session()
 
@@ -31,4 +31,20 @@ def get_user(api_client, api_root, auth_required=False):
         except AuthorizationError:
             raise CommandError('You are not authenticated.')
 
-    return session.get_user()
+    return session
+
+
+def get_user(api_client, api_root, auth_required=False):
+    """Return the user resource for the current session."""
+    session = get_authenticated_session(api_client, api_root, auth_required)
+
+    if session:
+        return session.get_user()
+
+
+def get_username(api_client, api_root, auth_required=False):
+    """Return the username for the current session."""
+    session = get_authenticated_session(api_client, api_root, auth_required)
+
+    if session:
+        return session.links.user.title
