diff --git a/lib/api.php b/lib/api.php
index 203b07880fd003cd9872415dc7e60753f70a4faa..cf699f547f34b5be9603a4eb46b1b0ce57c062d7 100644
--- a/lib/api.php
+++ b/lib/api.php
@@ -38,14 +38,16 @@ class OC_API {
 	* @param callable $action the function to run
 	* @param string $app the id of the app registering the call
 	*/
-	public static function register($method, $url, $action, $app){
+	public static function register($method, $url, $action, $app,
+				$defaults = array(),
+				$requirements = array()){
 		$name = strtolower($method).$url;
 		$name = str_replace(array('/', '{', '}'), '_', $name);
 		if(!isset(self::$actions[$name])){
 			OC::$router->create($name, $url.'.{_format}')
 				->method($method)
-				->defaults(array('_format' => 'xml'))
-				->requirements(array('_format' => 'xml|json'))
+				->defaults(array('_format' => 'xml') + $defaults)
+				->requirements(array('_format' => 'xml|json') + $requirements)
 				->action('OC_API', 'call');
 			self::$actions[$name] = array();
 		}
@@ -112,7 +114,7 @@ class OC_API {
 	private static function respond($response, $format='json'){
 		if ($format == 'json') {
 			echo json_encode($response);
-		} else if ($format == 'xml') {
+		//} else if ($format == 'xml') {
 			// TODO array to xml
 		} else {
 			var_dump($format, $response);
diff --git a/ocs/routes.php b/ocs/routes.php
index 95df0c7ec91cbde61a2831f8fcb6e7af342cac50..ac23e29af8a7470df10d7a27d27c06c871c06c59 100644
--- a/ocs/routes.php
+++ b/ocs/routes.php
@@ -12,6 +12,8 @@ OC_API::register('post', '/person/check', array('OC_OCS_Person', 'check'), 'ocs'
 // Activity
 OC_API::register('get', '/activity', array('OC_OCS_Activity', 'activityGet'), 'ocs');
 // Privatedata
+OC_API::register('get', '/privatedata/getattribute', array('OC_OCS_Privatedata', 'get'), 'ocs', array('app' => '', 'key' => ''));
+OC_API::register('get', '/privatedata/getattribute/{app}', array('OC_OCS_Privatedata', 'get'), 'ocs', array('key' => ''));
 OC_API::register('get', '/privatedata/getattribute/{app}/{key}', array('OC_OCS_Privatedata', 'get'), 'ocs');
 OC_API::register('post', '/privatedata/setattribute/{app}/{key}', array('OC_OCS_Privatedata', 'set'), 'ocs');
 OC_API::register('post', '/privatedata/deleteattribute/{app}/{key}', array('OC_OCS_Privatedata', 'delete'), 'ocs');