diff --git a/api/src/main/java/jakarta/json/EmptyArray.java b/api/src/main/java/jakarta/json/EmptyArray.java
index e1d9f4e..fcc3f5a 100644
--- a/api/src/main/java/jakarta/json/EmptyArray.java
+++ b/api/src/main/java/jakarta/json/EmptyArray.java
@@ -29,6 +29,7 @@
  */
 final class EmptyArray extends AbstractList<JsonValue> implements JsonArray, Serializable, RandomAccess {
 
+    /** for serialization */
     private static final long serialVersionUID = 7295439472061642859L;
 
     @Override
@@ -106,7 +107,10 @@
         return ValueType.ARRAY;
     }
 
-    // Preserves singleton property
+    /**
+     * Preserves singleton property
+     * @return {@link JsonValue#EMPTY_JSON_ARRAY}
+     */
     private Object readResolve() {
         return JsonValue.EMPTY_JSON_ARRAY;
     }
diff --git a/api/src/main/java/jakarta/json/EmptyObject.java b/api/src/main/java/jakarta/json/EmptyObject.java
index 280c350..f8c4aa8 100644
--- a/api/src/main/java/jakarta/json/EmptyObject.java
+++ b/api/src/main/java/jakarta/json/EmptyObject.java
@@ -28,6 +28,7 @@
  */
 final class EmptyObject extends AbstractMap<String, JsonValue> implements JsonObject, Serializable {
 
+    /** for serialization */
     private static final long serialVersionUID = -1461653546889072583L;
 
     @Override
@@ -95,7 +96,10 @@
         return ValueType.OBJECT;
     }
 
-    // Preserves singleton property
+    /**
+     * Preserves singleton property
+     * @return {@link JsonValue#EMPTY_JSON_OBJECT}
+     */
     private Object readResolve() {
         return JsonValue.EMPTY_JSON_OBJECT;
     }
diff --git a/api/src/main/java/jakarta/json/JsonException.java b/api/src/main/java/jakarta/json/JsonException.java
index d661b95..b6b4d9e 100644
--- a/api/src/main/java/jakarta/json/JsonException.java
+++ b/api/src/main/java/jakarta/json/JsonException.java
@@ -22,6 +22,9 @@
  */
 public class JsonException extends RuntimeException {
 
+    /** for serialization */
+    private static final long serialVersionUID = 359810709545392112L;
+
     /**
      * Constructs a new runtime exception with the specified detail message.
      * The cause is not initialized, and may subsequently be initialized by a
diff --git a/api/src/main/java/jakarta/json/JsonValueImpl.java b/api/src/main/java/jakarta/json/JsonValueImpl.java
index eca8ae3..8f2930f 100644
--- a/api/src/main/java/jakarta/json/JsonValueImpl.java
+++ b/api/src/main/java/jakarta/json/JsonValueImpl.java
@@ -26,8 +26,16 @@
  */
 final class JsonValueImpl implements JsonValue, Serializable {
 
+    /** for serialization */
+    private static final long serialVersionUID = 83723433120886104L;
+
+    /** Type of this JsonValue. */
     private final ValueType valueType;
 
+    /**
+     * Default constructor.
+     * @param valueType Type of this JsonValue
+     */
     JsonValueImpl(ValueType valueType) {
         this.valueType = valueType;
     }
diff --git a/api/src/main/java/jakarta/json/stream/JsonGenerationException.java b/api/src/main/java/jakarta/json/stream/JsonGenerationException.java
index 0c72c1a..19c3ced 100644
--- a/api/src/main/java/jakarta/json/stream/JsonGenerationException.java
+++ b/api/src/main/java/jakarta/json/stream/JsonGenerationException.java
@@ -24,6 +24,9 @@
  */
 public class JsonGenerationException extends JsonException {
 
+    /** for serialization */
+    private static final long serialVersionUID = -207609100806940680L;
+
     /**
      * Constructs a new runtime exception with the specified detail message.
      * The cause is not initialized, and may subsequently be initialized by a
diff --git a/api/src/main/java/jakarta/json/stream/JsonParsingException.java b/api/src/main/java/jakarta/json/stream/JsonParsingException.java
index 5cd2707..06c52c6 100644
--- a/api/src/main/java/jakarta/json/stream/JsonParsingException.java
+++ b/api/src/main/java/jakarta/json/stream/JsonParsingException.java
@@ -24,6 +24,9 @@
  */
 public class JsonParsingException extends JsonException {
 
+    /** for serialization */
+    private static final long serialVersionUID = 9073566598484238797L;
+
     /**
      * The location of the incorrect JSON.
      */
