diff --git a/src/main/java/org/apache/nlpcraft/client/NCClient.java b/src/main/java/org/apache/nlpcraft/client/NCClient.java
index d05269b..85d8552 100644
--- a/src/main/java/org/apache/nlpcraft/client/NCClient.java
+++ b/src/main/java/org/apache/nlpcraft/client/NCClient.java
@@ -339,7 +339,7 @@
      *
      * @param mdlId ID of the model to submit the request to.
      * @param txt Text to process.
-     * @param data Optional JSON data payload. TODO:
+     * @param data Optional JSON data payload. Can be {@code null} or empty.
      * @param enableLog Whether or not to enable processing log collection.
      * @param usrId Optional user ID.
      * @param usrExtId Optional external "on-behalf-of" user ID.
@@ -467,7 +467,7 @@
      * @param adminFirstName Optional company administrator first name.
      * @param adminLastName Optional company administrator last name.
      * @param adminAvatarUrl Optional company administrator avatar URL.
-     * @param properties TODO:
+     * @param properties Company metadata.
      * @return New company data.
      * @throws NCClientException Thrown in case of client-specific errors.
      * @throws IOException Thrown in case of generic I/O errors.
@@ -509,7 +509,7 @@
      * @param city Optional company address city.
      * @param address Optional company address.
      * @param postalCode Optional company address postal code.
-     * @param properties TODO:
+     * @param properties Company metadata.
      * @throws NCClientException Thrown in case of client-specific errors.
      * @throws IOException Thrown in case of generic I/O errors.
      */
diff --git a/src/main/java/org/apache/nlpcraft/client/NCCompany.java b/src/main/java/org/apache/nlpcraft/client/NCCompany.java
index 0a02c34..93baac5 100644
--- a/src/main/java/org/apache/nlpcraft/client/NCCompany.java
+++ b/src/main/java/org/apache/nlpcraft/client/NCCompany.java
@@ -82,10 +82,9 @@
     String getPostalCode();
 
     /**
-     * TODO:
-     * Gets properties.
+     * Gets company properties (metadata).
      *
-     * @return Optional properties.
+     * @return Optional company properties (metadata).
      */
     Map<String, String> getProperties();
 }
diff --git a/src/main/java/org/apache/nlpcraft/client/NCUser.java b/src/main/java/org/apache/nlpcraft/client/NCUser.java
index 9ee6549..14989b1 100644
--- a/src/main/java/org/apache/nlpcraft/client/NCUser.java
+++ b/src/main/java/org/apache/nlpcraft/client/NCUser.java
@@ -76,9 +76,9 @@
     String getExternalId();
     
     /**
-     * Gets properties.
+     * Gets user properties (metadata).
      *
-     * @return Optional properties.
+     * @return Optional user properties (metadata).
      */
     Map<String, String> getProperties();
 }
