diff --git a/lib/ocs/cloud.php b/lib/ocs/cloud.php
index 132d923d960ef42b5e3d52e6f77a0e05e7e19b26..1535f70a8cc3fbb18429f1c1b099ababfe9d28fc 100644
--- a/lib/ocs/cloud.php
+++ b/lib/ocs/cloud.php
@@ -35,13 +35,36 @@ class OC_OCS_Cloud {
 			'edition' => OC_Util::getEditionString(),
 			);
 			
-			$result['capabilities'] = array(
-				'core' => array(
-					'pollinterval' => OC_Config::getValue('pollinterval', 60),
-					),
-				);
+		$result['capabilities'] = array(
+			'core' => array(
+				'pollinterval' => OC_Config::getValue('pollinterval', 60),
+				),
+			);
+			
 		return new OC_OCS_Result($result);
 	}
+	
+	/**
+	 * gets user info
+	 */
+	public static function getUser($parameters){
+		// Check if they are viewing information on themselves
+		if($parameters['userid'] === OC_User::getUser()){
+			// Self lookup
+			$quota = array();
+			$storage = OC_Helper::getStorageInfo();
+			$quota = array(
+				'free' =>  $storage['free'],
+				'used' =>  $storage['used'],
+				'total' =>  $storage['total'],
+				'relative' => $storage['relative'],
+				);
+			return new OC_OCS_Result(array('quota' => $quota));
+		} else {
+			// No permission to view this user data
+			return new OC_OCS_Result(null, 997);
+		}
+	}
 
 	public static function getUserPublickey($parameters) {
 
diff --git a/ocs/routes.php b/ocs/routes.php
index 1ea698c7a83e510c2e07e4cf1c5af976f2c8cadb..283c9af6924cc848377d9b492016d80a89180de7 100644
--- a/ocs/routes.php
+++ b/ocs/routes.php
@@ -28,7 +28,7 @@ OC_API::register(
 	array('OC_OCS_Activity', 'activityGet'),
 	'core',
 	OC_API::USER_AUTH
-	); 
+	);
 // Privatedata
 OC_API::register(
 	'get',
@@ -75,3 +75,10 @@ OC_API::register(
 	'core',
 	OC_API::USER_AUTH
 	);
+OC_API::register(
+	'get',
+	'/cloud/users/{userid}',
+	array('OC_OCS_Cloud', 'getUser'),
+	'core',
+	OC_API::USER_AUTH
+	);