'required string', ); } protected function defineReturnType() { return 'nonempty dict'; } protected function defineErrorTypes() { return array( 'ERR-BAD-DOCUMENT' => 'No such document exists.', ); } protected function execute(ConduitAPIRequest $request) { $slug = $request->getValue('slug'); $document = id(new PhrictionDocumentQuery()) ->setViewer($request->getUser()) ->withSlugs(array(PhabricatorSlug::normalize($slug))) ->needContent(true) ->executeOne(); if (!$document) { throw new ConduitException('ERR-BAD-DOCUMENT'); } return $this->buildDocumentInfoDictionary( $document, $document->getContent()); } }