Вам необходимо проанализировать данные как карту, для этого может помочь приведенный ниже код.
data class UploadLinksResponse(
@SerializedName("data")
@Expose
val data: Map<String, MediaLink>
)
data class MediaLink(
@SerializedName("id")
val id: String,
@SerializedName("bucket")
val bucket: String,
@SerializedName("location")
val uploadLocation: String
)
, чтобы вы могли извлекать данные как карту, тогда ваши динамические данные будут ключевыми, и связанные данные будут работатьв качестве значения для этого ключа необходимо использовать итератор для получения данных из ключа и значения в соответствии со значением ключа.