diff --git a/R/KorAPConnection.R b/R/KorAPConnection.R
index f1f433d..13cc6fe 100644
--- a/R/KorAPConnection.R
+++ b/R/KorAPConnection.R
@@ -514,6 +514,20 @@
 
 setGeneric("clearCache", function(kco) standardGeneric("clearCache"))
 
+#' Clear local cache
+#'
+#' Clears the local cache of API responses for the current RKorAPClient version.
+#' Useful when you want to force fresh data retrieval or free up disk space.
+#'
+#' @family connection-initialization
+#' @param kco KorAPConnection object
+#' @return Invisible NULL (function called for side effects)
+#' @examples
+#' \dontrun{
+#' kco <- KorAPConnection()
+#' clearCache(kco)
+#' }
+#' 
 #' @aliases clearCache
 #' @export
 setMethod("clearCache", "KorAPConnection", function(kco) {
diff --git a/R/KorAPQuery.R b/R/KorAPQuery.R
index f6addcc..2224ab3 100644
--- a/R/KorAPQuery.R
+++ b/R/KorAPQuery.R
@@ -718,6 +718,10 @@
 #' **`fetchAll`** fetches all results of a KorAP query.
 #'
 #' @family corpus search functions
+#' @param kqo object obtained from [corpusQuery()]
+#' @param verbose print progress information if true
+#' @param ... further arguments passed to [fetchNext()]
+#' @return The updated `kqo` object with all results in `@collectedMatches`
 #'
 #' @examples
 #' \dontrun{
@@ -751,6 +755,11 @@
 
 #' Fetches the remaining results of a KorAP query.
 #'
+#' @param kqo object obtained from [corpusQuery()]
+#' @param verbose print progress information if true
+#' @param ... further arguments passed to [fetchNext()]
+#' @return The updated `kqo` object with remaining results in `@collectedMatches`
+#'
 #' @examples
 #' \dontrun{
 #'
diff --git a/man/clearCache-KorAPConnection-method.Rd b/man/clearCache-KorAPConnection-method.Rd
new file mode 100644
index 0000000..cc7666e
--- /dev/null
+++ b/man/clearCache-KorAPConnection-method.Rd
@@ -0,0 +1,27 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/KorAPConnection.R
+\name{clearCache,KorAPConnection-method}
+\alias{clearCache,KorAPConnection-method}
+\alias{clearCache}
+\title{Clear local cache}
+\usage{
+\S4method{clearCache}{KorAPConnection}(kco)
+}
+\arguments{
+\item{kco}{KorAPConnection object}
+}
+\value{
+Invisible NULL (function called for side effects)
+}
+\description{
+Clears the local cache of API responses for the current RKorAPClient version.
+Useful when you want to force fresh data retrieval or free up disk space.
+}
+\examples{
+\dontrun{
+kco <- KorAPConnection()
+clearCache(kco)
+}
+
+}
+\concept{connection-initialization}
diff --git a/man/fetchAll-KorAPQuery-method.Rd b/man/fetchAll-KorAPQuery-method.Rd
index 6750192..195bd93 100644
--- a/man/fetchAll-KorAPQuery-method.Rd
+++ b/man/fetchAll-KorAPQuery-method.Rd
@@ -7,6 +7,16 @@
 \usage{
 \S4method{fetchAll}{KorAPQuery}(kqo, verbose = kqo@korapConnection@verbose, ...)
 }
+\arguments{
+\item{kqo}{object obtained from \code{\link[=corpusQuery]{corpusQuery()}}}
+
+\item{verbose}{print progress information if true}
+
+\item{...}{further arguments passed to \code{\link[=fetchNext]{fetchNext()}}}
+}
+\value{
+The updated \code{kqo} object with all results in \verb{@collectedMatches}
+}
 \description{
 \strong{\code{fetchAll}} fetches all results of a KorAP query.
 }
diff --git a/man/fetchRest-KorAPQuery-method.Rd b/man/fetchRest-KorAPQuery-method.Rd
index 9c4adef..da4b938 100644
--- a/man/fetchRest-KorAPQuery-method.Rd
+++ b/man/fetchRest-KorAPQuery-method.Rd
@@ -7,6 +7,16 @@
 \usage{
 \S4method{fetchRest}{KorAPQuery}(kqo, verbose = kqo@korapConnection@verbose, ...)
 }
+\arguments{
+\item{kqo}{object obtained from \code{\link[=corpusQuery]{corpusQuery()}}}
+
+\item{verbose}{print progress information if true}
+
+\item{...}{further arguments passed to \code{\link[=fetchNext]{fetchNext()}}}
+}
+\value{
+The updated \code{kqo} object with remaining results in \verb{@collectedMatches}
+}
 \description{
 Fetches the remaining results of a KorAP query.
 }
