Index: src/applications/conduit/method/differential/ConduitAPI_differential_getrevisioncomments_Method.php
===================================================================
--- src/applications/conduit/method/differential/ConduitAPI_differential_getrevisioncomments_Method.php
+++ src/applications/conduit/method/differential/ConduitAPI_differential_getrevisioncomments_Method.php
@@ -29,6 +29,7 @@
   public function defineParamTypes() {
     return array(
       'ids' => 'required list<int>',
+      'inlines' => 'optional bool',
     );
   }
 
@@ -53,18 +54,55 @@
       'revisionID IN (%Ld)',
       $revision_ids);
 
+    $with_inlines = $request->getValue('inlines');
+    if ($with_inlines) {
+      $inlines = id(new DifferentialInlineComment())->loadAllWhere(
+        'revisionID IN (%Ld)',
+        $revision_ids);
+      $changesets = array();
+      if ($inlines) {
+        $changesets = id(new DifferentialChangeset())->loadAllWhere(
+          'id IN (%Ld)',
+          array_unique(mpull($inlines, 'getChangesetID')));
+        $inlines = mgroup($inlines, 'getCommentID');
+      }
+    }
+
     foreach ($comments as $comment) {
       $revision_id = $comment->getRevisionID();
-      if (!array_key_exists($revision_id, $results)) {
-        $results[$revision_id] = array();
-      }
-      $results[$revision_id][] = array(
+      $result = array(
         'revisionID'  => $revision_id,
         'action'      => $comment->getAction(),
         'authorPHID'  => $comment->getAuthorPHID(),
         'dateCreated' => $comment->getDateCreated(),
         'content'     => $comment->getContent(),
       );
+
+      if ($with_inlines) {
+        $result['inlines'] = array();
+        foreach (idx($inlines, $comment->getID(), array()) as $inline) {
+          $file_path = null;
+          $diff_id = null;
+          $changeset = idx($changesets, $inline->getChangesetID());
+          if ($changeset) {
+            $file_path = ($inline->getIsNewFile() ?
+              $changeset->getFilename() :
+              $changeset->getOldFile());
+            $diff_id = $changeset->getDiffID();
+          }
+          $result['inlines'][] = array(
+            'filePath' => $file_path,
+            'isNewFile' => $inline->getIsNewFile(),
+            'lineNumber' => $inline->getLineNumber(),
+            'lineLength' => $inline->getLineLength(),
+            'diffID' => $diff_id,
+            'content' => $inline->getContent(),
+          );
+        }
+        // TODO: Put synthetic inlines without an attached comment somewhere.
+      }
+
+      $results[$revision_id][] = $result;
     }
 
     return $results;