diff --git a/services/user_service/user_service.inc b/services/user_service/user_service.inc
index 3b18abc..86a93c4 100644
--- a/services/user_service/user_service.inc
+++ b/services/user_service/user_service.inc
@@ -81,6 +81,17 @@ function user_service_get_access($uid) {
  * @return
  *   A valid session object.
  */
+
+/**
+ * List all user roles.
+ *
+ * @return
+ *   Array of roles
+ */
+function user_service_list_roles() {
+  return user_roles(TRUE);
+}
+
 function user_service_login($username, $password) {
   global $user;
 
diff --git a/services/user_service/user_service.module b/services/user_service/user_service.module
index d2a8c4b..e0bea4a 100644
--- a/services/user_service/user_service.module
+++ b/services/user_service/user_service.module
@@ -56,6 +56,17 @@ function user_service_service() {
       '#help'             => t('Get all user details.')
     ),
 
+    // user.list_roles
+    array(
+      '#method'           => 'user.list_roles',
+      '#callback'         => 'user_service_list_roles',
+      '#access callback'  => 'services_access_menu',
+      '#file'             => array('file' => 'inc', 'module' => 'user_service'),
+      '#args'             => array(),
+      '#return'           => 'struct',
+      '#help'             => t('List all roles.')
+    ),
+
     // user.login
     array(
       '#method'           => 'user.login',
@@ -106,4 +117,4 @@ function user_service_service() {
       '#help'             => t('Save user details.')
     ),
   );
-}
\ No newline at end of file
+}
