diff --git a/common/src/main/kotlin/com/google/ai/client/generativeai/common/server/Types.kt b/common/src/main/kotlin/com/google/ai/client/generativeai/common/server/Types.kt
index 16b25a78..0fa28ff4 100644
--- a/common/src/main/kotlin/com/google/ai/client/generativeai/common/server/Types.kt
+++ b/common/src/main/kotlin/com/google/ai/client/generativeai/common/server/Types.kt
@@ -66,7 +66,7 @@ constructor(@JsonNames("citations") val citationSources: List<CitationSources>)
 data class CitationSources(
   val startIndex: Int = 0,
   val endIndex: Int,
-  val uri: String,
+  val uri: String? = null,
   val license: String? = null,
 )
 
diff --git a/generativeai/src/main/java/com/google/ai/client/generativeai/internal/util/conversions.kt b/generativeai/src/main/java/com/google/ai/client/generativeai/internal/util/conversions.kt
index c886a6dc..b9d0e6bf 100644
--- a/generativeai/src/main/java/com/google/ai/client/generativeai/internal/util/conversions.kt
+++ b/generativeai/src/main/java/com/google/ai/client/generativeai/internal/util/conversions.kt
@@ -243,7 +243,7 @@ internal fun Part.toPublic(): com.google.ai.client.generativeai.type.Part {
 }
 
 internal fun CitationSources.toPublic() =
-  CitationMetadata(startIndex = startIndex, endIndex = endIndex, uri = uri, license = license)
+  CitationMetadata(startIndex = startIndex, endIndex = endIndex, uri = uri ?: "", license = license)
 
 internal fun SafetyRating.toPublic() =
   com.google.ai.client.generativeai.type.SafetyRating(category.toPublic(), probability.toPublic())