diff --git a/R/KorAPConnection.R b/R/KorAPConnection.R
index 61e0614..11c6023 100644
--- a/R/KorAPConnection.R
+++ b/R/KorAPConnection.R
@@ -12,11 +12,22 @@
 #' @import R.cache
 #' @import utils
 #' @import methods
+#' @slot KorAPUrl        URL of the web user interface of the KorAP server used in the connection.
+#' @slot apiVersion      requested KorAP API version.
+#' @slot indexRevision   indexRevision code as reported from API via `X-Index-Revision` HTTP header.
+#' @slot apiUrl          full URL of API including version.
+#' @slot accessToken     OAuth2 access token.
+#' @slot userAgent       user agent string used for connection the API.
+#' @slot timeout         tineout in seconds for API requests (this does not influence server internal timeouts)
+#' @slot verbose         logical that decides whether operations will default to be verbose.
+#' @slot cache           logical that decides if API calls are cached locally.
+#' @slot welcome         list containing HTTP response received from KorAP server welcome function.
+
 #' @export
 KorAPConnection <- setClass("KorAPConnection", slots=c(KorAPUrl="character", apiVersion="character", indexRevision="characterOrNULL", apiUrl="character", accessToken="characterOrNULL", userAgent="character", timeout="numeric", verbose="logical", cache="logical", welcome="listOrNULL"))
 
 #' @param .Object KorAPConnection object
-#' @param KorAPUrl the URL of the KorAP server instance you want to access.
+#' @param KorAPUrl URL of the web user interface of the KorAP server instance you want to access.
 #' @param apiVersion which version of KorAP's API you want to connect to.
 #' @param apiUrl URL of the KorAP web service.
 #' @param accessToken OAuth2 access token. To use authorization based on an access token
@@ -36,10 +47,10 @@
 #'   new("KorAPConnection", cache=FALSE)` or use
 #'   [clearCache()] to clear the cache completely.
 #' @param userAgent user agent string.
-#' @param timeout time out in seconds.
-#' @param verbose logical. Decides whether following operations will default to
+#' @param timeout tineout in seconds for API requests (this does not influence server internal timeouts).
+#' @param verbose logical that decides whether following operations will default to
 #'   be verbose.
-#' @param cache logical. Decides if API calls are cached locally. You can clear
+#' @param cache logical that decides if API calls are cached locally. You can clear
 #'   the cache with [clearCache()].
 #' @return [KorAPConnection()] object that can be used e.g. with
 #'   [corpusQuery()]
diff --git a/man/KorAPConnection-class.Rd b/man/KorAPConnection-class.Rd
index 13ebf7e..ad64dc9 100644
--- a/man/KorAPConnection-class.Rd
+++ b/man/KorAPConnection-class.Rd
@@ -48,7 +48,7 @@
 \arguments{
 \item{.Object}{KorAPConnection object}
 
-\item{KorAPUrl}{the URL of the KorAP server instance you want to access.}
+\item{KorAPUrl}{URL of the web user interface of the KorAP server instance you want to access.}
 
 \item{apiVersion}{which version of KorAP's API you want to connect to.}
 
@@ -72,12 +72,12 @@
 
 \item{userAgent}{user agent string.}
 
-\item{timeout}{time out in seconds.}
+\item{timeout}{tineout in seconds for API requests (this does not influence server internal timeouts).}
 
-\item{verbose}{logical. Decides whether following operations will default to
+\item{verbose}{logical that decides whether following operations will default to
 be verbose.}
 
-\item{cache}{logical. Decides if API calls are cached locally. You can clear
+\item{cache}{logical that decides if API calls are cached locally. You can clear
 the cache with \code{\link[=clearCache]{clearCache()}}.}
 
 \item{kco}{KorAPConnection object}
@@ -98,6 +98,30 @@
 \code{KorAPConnection} objects represent the connection to a KorAP server.
 New \code{KorAPConnection} objects can be created by \code{new("KorAPConnection")}.
 }
+\section{Slots}{
+
+\describe{
+\item{\code{KorAPUrl}}{URL of the web user interface of the KorAP server used in the connection.}
+
+\item{\code{apiVersion}}{requested KorAP API version.}
+
+\item{\code{indexRevision}}{indexRevision code as reported from API via \code{X-Index-Revision} HTTP header.}
+
+\item{\code{apiUrl}}{full URL of API including version.}
+
+\item{\code{accessToken}}{OAuth2 access token.}
+
+\item{\code{userAgent}}{user agent string used for connection the API.}
+
+\item{\code{timeout}}{tineout in seconds for API requests (this does not influence server internal timeouts)}
+
+\item{\code{verbose}}{logical that decides whether operations will default to be verbose.}
+
+\item{\code{cache}}{logical that decides if API calls are cached locally.}
+
+\item{\code{welcome}}{list containing HTTP response received from KorAP server welcome function.}
+}}
+
 \examples{
 \dontrun{
 
