Index: src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php
===================================================================
--- src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php	(revision 39370)
+++ src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php	(working copy)
@@ -2038,12 +2038,16 @@
 			'type'               => 'string',
 			'default'            => 'date',
 			'enum'               => array(
+				'author',
 				'date',
-				'relevance',
 				'id',
 				'include',
+				'modified',
+				'none',
+				'parent',
+				'relevance',
+				'slug',
 				'title',
-				'slug',
 			),
 		);
 
Index: tests/phpunit/tests/rest-api/rest-posts-controller.php
===================================================================
--- tests/phpunit/tests/rest-api/rest-posts-controller.php	(revision 39370)
+++ tests/phpunit/tests/rest-api/rest-posts-controller.php	(working copy)
@@ -227,6 +227,82 @@
 		$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
 	}
 
+	public function test_get_items_orderby_author_query() {
+		$id2 = $this->factory->post->create( array( 'post_status' => 'publish', 'post_author' => self::$editor_id ) );
+		$id3 = $this->factory->post->create( array( 'post_status' => 'publish', 'post_author' => self::$editor_id ) );
+		$id1 = $this->factory->post->create( array( 'post_status' => 'publish', 'post_author' => self::$author_id ) );
+
+		$request = new WP_REST_Request( 'GET', '/wp/v2/posts' );
+		$request->set_param( 'include', array( $id1, $id2, $id3 ) );
+		$request->set_param( 'orderby', 'author' );
+
+		$response = $this->server->dispatch( $request );
+		$data = $response->get_data();
+
+		$this->assertEquals( 200, $response->get_status() );
+		$this->assertEquals( $id1, $data[0]['id'] );
+		$this->assertEquals( $id2, $data[1]['id'] );
+		$this->assertEquals( $id3, $data[2]['id'] );
+	}
+
+	public function test_get_items_orderby_modified_query() {
+		$id1 = $this->factory->post->create( array( 'post_status' => 'publish' ) );
+		$id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) );
+		$id3 = $this->factory->post->create( array( 'post_status' => 'publish' ) );
+
+		wp_insert_post( array( 'ID' => $id1, 'post_modified' => '2016-04-20 4:26:20' ) );
+		wp_insert_post( array( 'ID' => $id3, 'post_modified' => '2016-02-01 20:24:02' ) );
+		wp_insert_post( array( 'ID' => $id2, 'post_modified' => '2016-02-21 12:24:02' ) );
+
+		$request = new WP_REST_Request( 'GET', '/wp/v2/posts' );
+		$request->set_param( 'include', array( $id1, $id2, $id3 ) );
+		$request->set_param( 'orderby', 'modified' );
+
+		$response = $this->server->dispatch( $request );
+		$data = $response->get_data();
+
+		$this->assertEquals( 200, $response->get_status() );
+		$this->assertEquals( $id1, $data[0]['id'] );
+		$this->assertEquals( $id2, $data[1]['id'] );
+		$this->assertEquals( $id3, $data[2]['id'] );
+	}
+
+	public function test_get_items_orderby_none_query() {
+		$id1 = $this->factory->post->create( array( 'post_status' => 'publish' ) );
+		$id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) );
+		$id3 = $this->factory->post->create( array( 'post_status' => 'publish' ) );
+
+		$request = new WP_REST_Request( 'GET', '/wp/v2/posts' );
+		$request->set_param( 'include', array( $id1, $id2, $id3 ) );
+		$request->set_param( 'orderby', 'none' );
+
+		$response = $this->server->dispatch( $request );
+		$data = $response->get_data();
+
+		$this->assertEquals( 200, $response->get_status() );
+		$this->assertEquals( $id1, $data[0]['id'] );
+		$this->assertEquals( $id2, $data[1]['id'] );
+		$this->assertEquals( $id3, $data[2]['id'] );
+	}
+
+	public function test_get_items_orderby_parent_query() {
+		$id1 = $this->factory->post->create( array( 'post_status' => 'publish' ) );
+		$id3 = $this->factory->post->create( array( 'post_status' => 'publish' ) );
+		$id2 = $this->factory->post->create( array( 'post_status' => 'publish', 'post_parent' => $id1 ) );
+
+		$request = new WP_REST_Request( 'GET', '/wp/v2/posts' );
+		$request->set_param( 'include', array( $id1, $id2, $id3 ) );
+		$request->set_param( 'orderby', 'parent' );
+
+		$response = $this->server->dispatch( $request );
+		$data = $response->get_data();
+
+		$this->assertEquals( 200, $response->get_status() );
+		$this->assertEquals( $id2, $data[0]['id'] );
+		$this->assertEquals( $id1, $data[1]['id'] );
+		$this->assertEquals( $id3, $data[2]['id'] );
+	}
+
 	public function test_get_items_exclude_query() {
 		$id1 = $this->factory->post->create( array( 'post_status' => 'publish' ) );
 		$id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) );
