diff --git a/include/ccaosdb.h b/include/ccaosdb.h
index d303394c0f70ad5bb5c6b0d5e437ba9826d3f7bd..f9ed3bcc5725bbfd5cf8f6eec281f1a686e930f6 100644
--- a/include/ccaosdb.h
+++ b/include/ccaosdb.h
@@ -91,12 +91,17 @@ const char *caosdb_utility_get_env_var(const char *name, const char *fall_back);
  * Use the destructor function
  * `caosdb_connection_delete_certificate_provider` to free the wrapped
  * provider.
+ *
+ * EXPERT USE ONLY.  Memory management with this function is a bit tricky.
+ * Only use it when you know what you are doing.
  */
 int caosdb_connection_create_pem_file_certificate_provider(
   caosdb_connection_certificate_provider *out, const char *path);
 
 /**
  * Destructor function for a certificate provider.
+ *
+ * EXPERT USE ONLY.  Only use it when you know what you are doing.
  */
 int caosdb_connection_delete_certificate_provider(
   caosdb_connection_certificate_provider *provider);
@@ -109,6 +114,9 @@ int caosdb_connection_delete_certificate_provider(
  * Use the destructor function
  * `caosdb_connection_delete_connection_configuration` to free the wrapped
  * configuration.
+ *
+ * EXPERT USE ONLY.  Memory management with this function is a bit tricky.
+ * Only use it when you know what you are doing.
  */
 int caosdb_connection_create_tls_connection_configuration(
   caosdb_connection_connection_configuration *out, const char *host,
@@ -126,6 +134,9 @@ int caosdb_connection_create_tls_connection_configuration(
  * Use the destructor function
  * `caosdb_connection_delete_connection_configuration` to free the wrapped
  * configuration.
+ *
+ * EXPERT USE ONLY.  Memory management with this function is a bit tricky.
+ * Only use it when you know what you are doing.
  */
 int caosdb_connection_create_insecure_connection_configuration(
   caosdb_connection_connection_configuration *out, const char *host,
@@ -134,6 +145,8 @@ int caosdb_connection_create_insecure_connection_configuration(
 /**
  * Destructor function for the caosdb_connection_connection_configuration
  * struct.
+ *
+ * EXPERT USE ONLY.  Only use it when you know what you are doing.
  */
 int caosdb_connection_delete_connection_configuration(
   caosdb_connection_connection_configuration *configuration);
@@ -154,6 +167,9 @@ int caosdb_connection_configuration_add_cacert(
  * Use the destructor function
  * `caosdb_authentication_delete_authenticator` to free the wrapped
  * authenticator.
+ *
+ * EXPERT USE ONLY.  Memory management with this function is a bit tricky.
+ * Only use it when you know what you are doing.
  */
 int caosdb_authentication_create_plain_password_authenticator(
   caosdb_authentication_authenticator *out, const char *username,
@@ -161,6 +177,8 @@ int caosdb_authentication_create_plain_password_authenticator(
 
 /**
  * Destructor function for the caosdb_authentication_authenticator struct.
+ *
+ * EXPERT USE ONLY.  Only use it when you know what you are doing.
  */
 int caosdb_authentication_delete_authenticator(
   caosdb_authentication_authenticator *authenticator);
@@ -174,6 +192,9 @@ int caosdb_authentication_delete_authenticator(
  * Use the destructor function
  * `caosdb_connection_delete_connection` to free the wrapped
  * connection.
+ *
+ * EXPERT USE ONLY.  Memory management with this function is a bit tricky.
+ * Only use it when you know what you are doing.
  */
 int caosdb_connection_create_connection(
   caosdb_connection_connection *out,
@@ -181,6 +202,8 @@ int caosdb_connection_create_connection(
 
 /**
  * Destructor function for the caosdb_connection_connection struct.
+ *
+ * EXPERT USE ONLY.  Only use it when you know what you are doing.
  */
 int caosdb_connection_delete_connection(
   caosdb_connection_connection *connection);