diff --git a/src/main/java/org/eclipsefoundation/downloads/api/DrupalAPI.java b/src/main/java/org/eclipsefoundation/downloads/api/DrupalAPI.java
index 091de37372560a97b3ae0bdc01ce1cc385d1484e..3eb7da93929909a4d09041e7b25338459251b6a8 100644
--- a/src/main/java/org/eclipsefoundation/downloads/api/DrupalAPI.java
+++ b/src/main/java/org/eclipsefoundation/downloads/api/DrupalAPI.java
@@ -11,8 +11,10 @@
 */
 package org.eclipsefoundation.downloads.api;
 
+import java.util.Map;
+
 import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
-import org.eclipsefoundation.downloads.models.ReleaseVersionPackages.ReleaseTrackerPackages;
+import org.eclipsefoundation.downloads.models.ReleaseVersionPackages.ReleaseTrackerPackage;
 import org.eclipsefoundation.downloads.models.TrackedReleases;
 
 import jakarta.ws.rs.GET;
@@ -43,5 +45,5 @@ public interface DrupalAPI {
      */
     @GET
     @Path("downloads/packages/admin/release_tracker/json/{releaseName}%20{version}/all")
-    ReleaseTrackerPackages get(@PathParam("releaseName") String releaseName, @PathParam("version") String version);
+    Map<String, ReleaseTrackerPackage> get(@PathParam("releaseName") String releaseName, @PathParam("version") String version);
 }
diff --git a/src/main/java/org/eclipsefoundation/downloads/models/ReleaseVersionPackages.java b/src/main/java/org/eclipsefoundation/downloads/models/ReleaseVersionPackages.java
index 1995448522161d37afed5c6b29e4e4e68c6907e7..b970419ba7e380de14891240912274e8b6bf36cd 100644
--- a/src/main/java/org/eclipsefoundation/downloads/models/ReleaseVersionPackages.java
+++ b/src/main/java/org/eclipsefoundation/downloads/models/ReleaseVersionPackages.java
@@ -12,16 +12,15 @@
 package org.eclipsefoundation.downloads.models;
 
 import java.util.List;
+import java.util.Map;
 
-import jakarta.annotation.Nullable;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonInclude.Include;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
 import com.google.auto.value.AutoValue;
 
+import jakarta.annotation.Nullable;
+
 /**
  * Serialization for input/output of the release version packages.
  * 
@@ -35,7 +34,7 @@ public abstract class ReleaseVersionPackages {
 
     public abstract String getReleaseVersion();
 
-    public abstract ReleaseTrackerPackages getPackages();
+    public abstract Map<String, ReleaseTrackerPackage> getPackages();
 
     public static Builder builder() {
         return new AutoValue_ReleaseVersionPackages.Builder();
@@ -48,103 +47,11 @@ public abstract class ReleaseVersionPackages {
 
         public abstract Builder setReleaseVersion(String releaseVersion);
 
-        public abstract Builder setPackages(ReleaseTrackerPackages packages);
+        public abstract Builder setPackages(Map<String, ReleaseTrackerPackage> packages);
 
         public abstract ReleaseVersionPackages build();
     }
 
-    @AutoValue
-    @JsonDeserialize(builder = AutoValue_ReleaseVersionPackages_ReleaseTrackerPackages.Builder.class)
-    public abstract static class ReleaseTrackerPackages {
-        @Nullable
-        @JsonProperty("java-package")
-        public abstract ReleaseTrackerPackage getJavaPackage();
-
-        @Nullable
-        @JsonProperty("jee-package")
-        public abstract ReleaseTrackerPackage getJEEPackage();
-
-        @Nullable
-        @JsonProperty("cpp-package")
-        public abstract ReleaseTrackerPackage getCPPPackage();
-
-        @Nullable
-        @JsonProperty("committers-package")
-        public abstract ReleaseTrackerPackage getCommittersPackage();
-
-        @Nullable
-        @JsonProperty("php-package")
-        public abstract ReleaseTrackerPackage getPHPPackage();
-
-        @Nullable
-        @JsonProperty("dsl-package")
-        public abstract ReleaseTrackerPackage getDSLPackage();
-
-        @Nullable
-        @JsonProperty("embedcpp-package")
-        public abstract ReleaseTrackerPackage getEmbeddedCPPPackage();
-
-        @Nullable
-        @JsonProperty("modeling-package")
-        public abstract ReleaseTrackerPackage getModelingPackage();
-
-        @Nullable
-        @JsonProperty("rcp-package")
-        public abstract ReleaseTrackerPackage getRCPPackage();
-
-        @JsonInclude(Include.NON_NULL)
-        @Nullable
-        @JsonProperty("parallel-package")
-        public abstract ReleaseTrackerPackage getParallelPackage();
-
-        @Nullable
-        @JsonProperty("scout-package")
-        public abstract ReleaseTrackerPackage getScoutPackage();
-
-        public static Builder builder() {
-            return new AutoValue_ReleaseVersionPackages_ReleaseTrackerPackages.Builder();
-        }
-
-        @AutoValue.Builder
-        @JsonPOJOBuilder(withPrefix = "set")
-        public abstract static class Builder {
-            @JsonProperty("java-package")
-            public abstract Builder setJavaPackage(@Nullable ReleaseTrackerPackage javaPackage);
-
-            @JsonProperty("jee-package")
-            public abstract Builder setJEEPackage(@Nullable ReleaseTrackerPackage jeePackage);
-
-            @JsonProperty("cpp-package")
-            public abstract Builder setCPPPackage(@Nullable ReleaseTrackerPackage cppPackage);
-
-            @JsonProperty("committers-package")
-            public abstract Builder setCommittersPackage(@Nullable ReleaseTrackerPackage committersPackage);
-
-            @JsonProperty("php-package")
-            public abstract Builder setPHPPackage(@Nullable ReleaseTrackerPackage phpPackage);
-
-            @JsonProperty("dsl-package")
-            public abstract Builder setDSLPackage(@Nullable ReleaseTrackerPackage dslPackage);
-
-            @JsonProperty("embedcpp-package")
-            public abstract Builder setEmbeddedCPPPackage(@Nullable ReleaseTrackerPackage embeddedCPPPackage);
-
-            @JsonProperty("modeling-package")
-            public abstract Builder setModelingPackage(@Nullable ReleaseTrackerPackage modelingPackage);
-
-            @JsonProperty("rcp-package")
-            public abstract Builder setRCPPackage(@Nullable ReleaseTrackerPackage rcpPackage);
-
-            @JsonProperty("parallel-package")
-            public abstract Builder setParallelPackage(@Nullable ReleaseTrackerPackage parallelPackage);
-
-            @JsonProperty("scout-package")
-            public abstract Builder setScoutPackage(@Nullable ReleaseTrackerPackage scoutPackage);
-
-            public abstract ReleaseTrackerPackages build();
-        }
-    }
-
     @AutoValue
     @JsonDeserialize(builder = AutoValue_ReleaseVersionPackages_ReleaseTrackerPackage.Builder.class)
     public abstract static class ReleaseTrackerPackage {
diff --git a/src/main/java/org/eclipsefoundation/downloads/resources/DownloadsResource.java b/src/main/java/org/eclipsefoundation/downloads/resources/DownloadsResource.java
index 58cd6f0382e1adbca0c00a785596866f9d9afd3a..ee6ae7a60644b7a983b2b017bd55d32b75b43f77 100644
--- a/src/main/java/org/eclipsefoundation/downloads/resources/DownloadsResource.java
+++ b/src/main/java/org/eclipsefoundation/downloads/resources/DownloadsResource.java
@@ -13,6 +13,7 @@
 package org.eclipsefoundation.downloads.resources;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 import java.util.function.Predicate;
 import java.util.function.Supplier;
@@ -24,7 +25,7 @@ import org.eclipsefoundation.caching.service.CachingService;
 import org.eclipsefoundation.downloads.api.DrupalAPI;
 import org.eclipsefoundation.downloads.dto.DownloadFileIndex;
 import org.eclipsefoundation.downloads.models.ReleaseVersionPackages;
-import org.eclipsefoundation.downloads.models.ReleaseVersionPackages.ReleaseTrackerPackages;
+import org.eclipsefoundation.downloads.models.ReleaseVersionPackages.ReleaseTrackerPackage;
 import org.eclipsefoundation.downloads.models.TrackedReleases.Release;
 import org.eclipsefoundation.downloads.models.TrackedReleases.ReleaseVersion;
 import org.eclipsefoundation.downloads.namespaces.DownloadsUrlParameterNames;
@@ -244,7 +245,7 @@ public class DownloadsResource {
         }
 
         // get the release package from the Drupal API
-        Optional<ReleaseTrackerPackages> rtp = getVersionPackages(releaseName, releaseVersion);
+        Optional<Map<String, ReleaseTrackerPackage>> rtp = getVersionPackages(releaseName, releaseVersion);
         if (rtp.isEmpty()) {
             String message = String
                     .format("Could not find package definitions for release '%s', version '%s'", releaseName, releaseVersion);
@@ -307,9 +308,9 @@ public class DownloadsResource {
      * @param version the version name of the specific release
      * @return
      */
-    private Optional<ReleaseTrackerPackages> getVersionPackages(String releaseName, String releaseVersion) {
+    private Optional<Map<String, ReleaseTrackerPackage>> getVersionPackages(String releaseName, String releaseVersion) {
         return cache
-                .get(releaseName + releaseVersion, new MultivaluedHashMap<>(), ReleaseTrackerPackages.class,
+                .get(releaseName + releaseVersion, new MultivaluedHashMap<>(), Map.class,
                         () -> api.get(releaseName, releaseVersion))
                 .data();
     }