diff --git a/tensorflow_ranking/g3doc/api_docs/python/index.md b/tensorflow_ranking/g3doc/api_docs/python/index.md
deleted file mode 100644
index 4a4c760..0000000
--- a/tensorflow_ranking/g3doc/api_docs/python/index.md
+++ /dev/null
@@ -1,117 +0,0 @@
-# All symbols in TensorFlow Ranking
-
-
-
-## Primary symbols
-
-* tfr
-* tfr.data
-* tfr.data.build_ranking_dataset
-* tfr.data.build_ranking_dataset_with_parsing_fn
-* tfr.data.build_ranking_serving_input_receiver_fn
-* tfr.data.build_ranking_serving_input_receiver_fn_with_parsing_fn
-* tfr.data.build_sequence_example_serving_input_receiver_fn
-* tfr.data.make_parsing_fn
-* tfr.data.parse_from_example_in_example
-* tfr.data.parse_from_example_list
-* tfr.data.parse_from_sequence_example
-* tfr.data.read_batched_sequence_example_dataset
-* tfr.estimator
-* tfr.estimator.EstimatorBuilder
-* tfr.estimator.GAMEstimatorBuilder
-* tfr.estimator.make_dnn_ranking_estimator
-* tfr.estimator.make_gam_ranking_estimator
-* tfr.ext
-* tfr.ext.pipeline
-* tfr.ext.pipeline.RankingPipeline
-* tfr.ext.tfrbert
-* tfr.ext.tfrbert.TFRBertRankingNetwork
-* tfr.ext.tfrbert.TFRBertUtil
-* tfr.feature
-* tfr.feature.encode_features
-* tfr.feature.encode_listwise_features
-* tfr.feature.encode_pointwise_features
-* tfr.feature.make_identity_transform_fn
-* tfr.head
-* tfr.head.create_multi_ranking_head
-* tfr.head.create_ranking_head
-* tfr.keras
-* tfr.keras.canned
-* tfr.keras.canned.DNNRankingNetwork
-* tfr.keras.canned.GAMRankingNetwork
-* tfr.keras.canned.dnn
-* tfr.keras.canned.dnn.DNNRankingNetwork
-* tfr.keras.canned.gam
-* tfr.keras.canned.gam.GAMRankingNetwork
-* tfr.keras.estimator
-* tfr.keras.estimator.model_to_estimator
-* tfr.keras.feature
-* tfr.keras.feature.EncodeListwiseFeatures
-* tfr.keras.feature.GenerateMask
-* tfr.keras.feature.create_keras_inputs
-* tfr.keras.feature.deserialize_feature_columns
-* tfr.keras.feature.serialize_feature_columns
-* tfr.keras.losses
-* tfr.keras.losses.ApproxMRRLoss
-* tfr.keras.losses.ApproxNDCGLoss
-* tfr.keras.losses.GumbelApproxNDCGLoss
-* tfr.keras.losses.ListMLELoss
-* tfr.keras.losses.MeanSquaredLoss
-* tfr.keras.losses.PairwiseHingeLoss
-* tfr.keras.losses.PairwiseLogisticLoss
-* tfr.keras.losses.PairwiseSoftZeroOneLoss
-* tfr.keras.losses.RankingLossKey
-* tfr.keras.losses.SigmoidCrossEntropyLoss
-* tfr.keras.losses.SoftmaxLoss
-* tfr.keras.losses.UniqueSoftmaxLoss
-* tfr.keras.losses.get
-* tfr.keras.metrics
-* tfr.keras.metrics.ARPMetric
-* tfr.keras.metrics.AlphaDCGMetric
-* tfr.keras.metrics.DCGMetric
-* tfr.keras.metrics.MRRMetric
-* tfr.keras.metrics.MeanAveragePrecisionMetric
-* tfr.keras.metrics.NDCGMetric
-* tfr.keras.metrics.OPAMetric
-* tfr.keras.metrics.PrecisionIAMetric
-* tfr.keras.metrics.PrecisionMetric
-* tfr.keras.metrics.default_keras_metrics
-* tfr.keras.model
-* tfr.keras.model.create_keras_model
-* tfr.keras.network
-* tfr.keras.network.RankingNetwork
-* tfr.keras.network.UnivariateRankingNetwork
-* tfr.keras.network.listwise_scoring
-* tfr.losses
-* tfr.losses.RankingLossKey
-* tfr.losses.create_ndcg_lambda_weight
-* tfr.losses.create_p_list_mle_lambda_weight
-* tfr.losses.create_reciprocal_rank_lambda_weight
-* tfr.losses.make_loss_fn
-* tfr.losses.make_loss_metric_fn
-* tfr.metrics
-* tfr.metrics.RankingMetricKey
-* tfr.metrics.alpha_discounted_cumulative_gain
-* tfr.metrics.average_relevance_position
-* tfr.metrics.compute_mean
-* tfr.metrics.discounted_cumulative_gain
-* tfr.metrics.eval_metric
-* tfr.metrics.make_ranking_metric_fn
-* tfr.metrics.mean_average_precision
-* tfr.metrics.mean_reciprocal_rank
-* tfr.metrics.normalized_discounted_cumulative_gain
-* tfr.metrics.ordered_pair_accuracy
-* tfr.metrics.precision
-* tfr.metrics.precision_ia
-* tfr.model
-* tfr.model.make_groupwise_ranking_fn
-* tfr.utils
-* tfr.utils.de_noise
-* tfr.utils.is_label_valid
-* tfr.utils.organize_valid_indices
-* tfr.utils.padded_nd_indices
-* tfr.utils.reshape_first_ndims
-* tfr.utils.reshape_to_2d
-* tfr.utils.shuffle_valid_indices
-* tfr.utils.sort_by_scores
-* tfr.utils.sorted_ranks
diff --git a/tensorflow_ranking/g3doc/api_docs/python/tfr.md b/tensorflow_ranking/g3doc/api_docs/python/tfr.md
index c5932bd..445ad34 100644
--- a/tensorflow_ranking/g3doc/api_docs/python/tfr.md
+++ b/tensorflow_ranking/g3doc/api_docs/python/tfr.md
@@ -1,3 +1,6 @@
+description: TensorFlow Ranking, the project to build ranking models on
+TensorFlow.
+
@@ -44,6 +46,18 @@ library.
[`utils`](./tfr/utils.md) module: Utility functions for ranking library.
-## Other Members
+
-* `__version__ = '0.3.2.dev'`
+
tfr
+* tfr.data
+* tfr.data.build_ranking_dataset
+* tfr.data.build_ranking_dataset_with_parsing_fn
+* tfr.data.build_ranking_serving_input_receiver_fn
+* tfr.data.build_ranking_serving_input_receiver_fn_with_parsing_fn
+* tfr.data.build_sequence_example_serving_input_receiver_fn
+* tfr.data.build_tf_example_serving_input_receiver_fn
+* tfr.data.make_parsing_fn
+* tfr.data.parse_from_example_in_example
+* tfr.data.parse_from_example_list
+* tfr.data.parse_from_sequence_example
+* tfr.data.parse_from_tf_example
+* tfr.data.read_batched_sequence_example_dataset
+* tfr.estimator
+* tfr.estimator.EstimatorBuilder
+* tfr.estimator.GAMEstimatorBuilder
+* tfr.estimator.make_dnn_ranking_estimator
+* tfr.estimator.make_gam_ranking_estimator
+* tfr.ext
+* tfr.ext.pipeline
+* tfr.ext.pipeline.RankingPipeline
+* tfr.ext.tfrbert
+* tfr.ext.tfrbert.TFRBertRankingNetwork
+* tfr.ext.tfrbert.TFRBertUtil
+* tfr.feature
+* tfr.feature.encode_features
+* tfr.feature.encode_listwise_features
+* tfr.feature.encode_pointwise_features
+* tfr.feature.make_identity_transform_fn
+* tfr.head
+* tfr.head.create_multi_ranking_head
+* tfr.head.create_ranking_head
+* tfr.keras
+* tfr.keras.canned
+* tfr.keras.canned.DNNRankingNetwork
+* tfr.keras.canned.GAMRankingNetwork
+* tfr.keras.canned.dnn
+* tfr.keras.canned.dnn.DNNRankingNetwork
+* tfr.keras.canned.gam
+* tfr.keras.canned.gam.GAMRankingNetwork
+* tfr.keras.estimator
+* tfr.keras.estimator.model_to_estimator
+* tfr.keras.feature
+* tfr.keras.feature.EncodeListwiseFeatures
+* tfr.keras.feature.GenerateMask
+* tfr.keras.feature.create_keras_inputs
+* tfr.keras.feature.deserialize_feature_columns
+* tfr.keras.feature.serialize_feature_columns
+* tfr.keras.layers
+* tfr.keras.layers.ConcatFeatures
+* tfr.keras.layers.DocumentInteractionAttention
+* tfr.keras.layers.FlattenList
+* tfr.keras.layers.RestoreList
+* tfr.keras.losses
+* tfr.keras.losses.ApproxMRRLoss
+* tfr.keras.losses.ApproxNDCGLoss
+* tfr.keras.losses.ClickEMLoss
+* tfr.keras.losses.DCGLambdaWeight
+* tfr.keras.losses.GumbelApproxNDCGLoss
+* tfr.keras.losses.ListMLELambdaWeight
+* tfr.keras.losses.ListMLELoss
+* tfr.keras.losses.MeanSquaredLoss
+* tfr.keras.losses.NDCGLambdaWeight
+* tfr.keras.losses.PairwiseHingeLoss
+* tfr.keras.losses.PairwiseLogisticLoss
+* tfr.keras.losses.PairwiseSoftZeroOneLoss
+* tfr.keras.losses.PrecisionLambdaWeight
+* tfr.keras.losses.RankingLossKey
+* tfr.keras.losses.SigmoidCrossEntropyLoss
+* tfr.keras.losses.SoftmaxLoss
+* tfr.keras.losses.UniqueSoftmaxLoss
+* tfr.keras.losses.get
+* tfr.keras.metrics
+* tfr.keras.metrics.ARPMetric
+* tfr.keras.metrics.AlphaDCGMetric
+* tfr.keras.metrics.DCGMetric
+* tfr.keras.metrics.MRRMetric
+* tfr.keras.metrics.MeanAveragePrecisionMetric
+* tfr.keras.metrics.NDCGMetric
+* tfr.keras.metrics.OPAMetric
+* tfr.keras.metrics.PrecisionIAMetric
+* tfr.keras.metrics.PrecisionMetric
+* tfr.keras.metrics.RankingMetricKey
+* tfr.keras.metrics.RecallMetric
+* tfr.keras.metrics.default_keras_metrics
+* tfr.keras.metrics.get
+* tfr.keras.model
+* tfr.keras.model.create_keras_model
+* tfr.keras.network
+* tfr.keras.network.RankingNetwork
+* tfr.keras.network.UnivariateRankingNetwork
+* tfr.keras.network.listwise_scoring
+* tfr.keras.saved_model
+* tfr.keras.saved_model.Signatures
+* tfr.keras.utils
+* tfr.keras.utils.identity
+* tfr.keras.utils.inverse
+* tfr.keras.utils.is_greater_equal_1
+* tfr.keras.utils.log2_inverse
+* tfr.keras.utils.pow_minus_1
+* tfr.losses
+* tfr.losses.RankingLossKey
+* tfr.losses.create_ndcg_lambda_weight
+* tfr.losses.create_p_list_mle_lambda_weight
+* tfr.losses.create_reciprocal_rank_lambda_weight
+* tfr.losses.make_loss_fn
+* tfr.losses.make_loss_metric_fn
+* tfr.metrics
+* tfr.metrics.RankingMetricKey
+* tfr.metrics.alpha_discounted_cumulative_gain
+* tfr.metrics.average_relevance_position
+* tfr.metrics.binary_preference
+* tfr.metrics.compute_mean
+* tfr.metrics.discounted_cumulative_gain
+* tfr.metrics.eval_metric
+* tfr.metrics.make_ranking_metric_fn
+* tfr.metrics.mean_average_precision
+* tfr.metrics.mean_reciprocal_rank
+* tfr.metrics.normalized_discounted_cumulative_gain
+* tfr.metrics.ordered_pair_accuracy
+* tfr.metrics.precision
+* tfr.metrics.precision_ia
+* tfr.model
+* tfr.model.make_groupwise_ranking_fn
+* tfr.utils
+* tfr.utils.de_noise
+* tfr.utils.gather_per_row
+* tfr.utils.is_label_valid
+* tfr.utils.organize_valid_indices
+* tfr.utils.padded_nd_indices
+* tfr.utils.ragged_to_dense
+* tfr.utils.reshape_first_ndims
+* tfr.utils.reshape_to_2d
+* tfr.utils.shuffle_valid_indices
+* tfr.utils.sort_by_scores
+* tfr.utils.sorted_ranks
diff --git a/tensorflow_ranking/g3doc/api_docs/python/tfr/data.md b/tensorflow_ranking/g3doc/api_docs/python/tfr/data.md
index efd585a..22ed0e1 100644
--- a/tensorflow_ranking/g3doc/api_docs/python/tfr/data.md
+++ b/tensorflow_ranking/g3doc/api_docs/python/tfr/data.md
@@ -1,3 +1,5 @@
+description: Input data parsing for tf-ranking library.
+
@@ -10,8 +12,7 @@
- |