Public APIs for Oracle Java Releases

JMS provides APIs to access information about all Oracle Java public releases, starting from July 2019 CPU. Accessible over the java.oraclecloud.com domain, these APIs can be used without authentication or authorization.

These RESTful APIs offer access to essential Java release data, empowering system administrators to integrate Java release information seamlessly into their operational workflows. The APIs also provide Script Friendly Download commands to download the required Java version through JMS Java Download.

Java REST APIs

The following APIs are available that provide comprehensive information about Oracle Java public releases:

Java Versions - https://java.oraclecloud.com/javaVersions: retrieves a list of Oracle Java versions. For each Java version, this API presents the following information:

  • docUrl: provides the documentation URL.
  • endOfSupportLifeDate: provides end of support date of the Java release.
  • jdkVersion: provides JDK version number.
  • isSupportedVersion: indicates whether the JDK version is supported or not. Values are True or False.
  • latestReleaseVersion: provides the latest version number of the JDK release.
  • isLts: indicates whether the release is Long-Term-Support (LTS) or not. Values are True or False.
Java Releases - https://java.oraclecloud.com/javaReleases: retrieves a list of publicly available Oracle Java releases such as CPU, Feature, and Patch releases. For each Java release, this API presents the following information:
  • artifactContentTypes: provides details such as, minimum number of days a Java release is under the security baseline and whether script download commands are available from the JMS Java Download page.
  • jdkDetails: provides details about the Java versions.
  • licenseDetails: provide details such as display name, license type, and license URL.
  • releaseDate: provides the release date of a particular JDK version.
  • releaseNotesUrl: displays the URL of the JDK release.
  • releaseType: indicates the type of release such as CPU, FEATURE, or PATCH_RELEASE.
  • releaseVersion: provides version number of the particular Java release.
  • releaseFullVersion: provides complete version, including the build number of the particular Java release, for example, jdk-22.0.1+8.
  • securityStatus: indicates security status of the release, such as UP_TO_DATE, UPDATE_REQUIRED, UPGRADE_REQUIRED, or UNKNOWN.

Java Release of Specific Version - https://java.oraclecloud.com/javaReleases/<$releaseVersion> (use releaseVersion value from https://java.oraclecloud.com/javaReleases API to see details of that release. For instance - https://java.oraclecloud.com/javaReleases/11.0.17 or https://java.oraclecloud.com/javaReleases/1.8.0_421.

This API retrieves complete information about that specific release, including all the artifacts available for that release version. For each Java release, the API presents the artifacts properties, such as:

  • downloadFileSizeInBytes: provides the file size of the package.
  • artifactType: indicates the artifact type, such as JDK, JRE, or SERVER_JRE.
  • osFamily: indicates the corresponding Operating System of the artifact, such as Linux, Windows, or macOS.
  • architecture: indicates the architecture of the operating system, such as aarch64, x64, sparcv9, i586, or arm32.
  • packageType: indicates the supported package types, such as zip, exe, dmg, deb, rpm, tar.gz, msi, or tar.Z.
  • downloadCommand: provides the script friendly download command that will enable you to download the package from JMS Java download page. Ensure to provide correct Token ID and Region for seamless download.
  • downloadUrl: provides the script friendly download URL that you can use to download the package from JMS Java Download page. Ensure to provide correct Region.
  • checksumCommand: provides the script friendly download command to get checksum of the artifact. Ensure to provide correct Region in the command.
  • checksumUrl: provides the download URL with corresponding checksum. Ensure to provide correct Region.

Current Java Releases - https://java.oraclecloud.com/currentJavaReleases: retrieves a list of currently supported Oracle Java releases (CPU, Feature, and Patch releases). The API lists all releases that conform to the security baseline that is, securityStatus field set to UP_TO_DATE. For each Java release, this API presents the following information:

  • artifactContentTypes: provides details such as, minimum number of days a Java release is under the security baseline and whether script download commands are available from the JMS Java Download page.
  • jdkDetails: provides details about the Java versions.
  • licenseDetails: provide details such as display name, license type, and license URL.
  • releaseDate: provides the release date of a particular JDK version.
  • releaseNotesUrl: displays the URL of the JDK release.
  • releaseType: indicates the type of release such as CPU, FEATURE, or PATCH_RELEASE.
  • releaseVersion: provides version number of the particular Java release.
  • releaseFullVersion: provides complete version, including the build number of the particular Java release, for example, jdk-22.0.1+8.
  • securityStatus: indicates security status of the release, such as UP_TO_DATE, UPDATE_REQUIRED, UPGRADE_REQUIRED, or UNKNOWN.

Current Java Release of Specific Java Version - https://java.oraclecloud.com/currentJavaReleases/<$jdkVersion>: use the jdkVersion value from https://java.oraclecloud.com/javaVersions API to see the details of that version. For instance - https://java.oraclecloud.com/currentJavaReleases/22.

This API retrieves complete information about a specific version of a current Java release. For each Java release, this API presents the following information:

  • downloadFileSizeInBytes: provides the file size of the package.
  • artifactType: indicates the artifact type, such as JDK, JRE, or SERVER_JRE.
  • osFamily: indicates the corresponding Operating System of the artifact, such as Linux, Windows, or macOS.
  • architecture: indicates the architecture of the operating system, such as aarch64, x64, sparcv9, i586, or arm32.
  • packageType: indicates the supported package types, such as zip, exe, dmg, deb, rpm, tar.gz, msi, or tar.Z.
  • downloadCommand: provides the script friendly download command that will enable you to download the package from JMS Java Download page. Ensure to provide correct Token ID and Region for seamless download.
  • downloadUrl: provides the script friendly download URL that you can use to download the package from JMS Java Download page. Ensure to provide correct Region.
  • checksumCommand: provides the script friendly download command to get checksum of the artifact. Ensure to provide correct Region in the command.
  • checksumUrl: provides the download URL with corresponding checksum. Ensure to provide correct Region.

Using Java REST APIs

You can use the Java API parameters to filter and retrieve only the required information. For example, to filter only macOS aarch64 artifacts in the JDK 11.0.17 release, use:
https://java.oraclecloud.com/javaReleases/11.0.17?osFamily=macos&architecture=aarch64
To download the latest JDK 11 for Linux aarch64 platform from the JMS Java Download page, use:
curl -H "token:<$token>" -L -O https://javamanagementservice-download.<$region>.oci.oraclecloud.com/java/11/latest/jdk-11_linux-aarch64_bin.tar.gz

In the download command, ensure that you provide a valid Token ID in the <$token> field and correct Region in the <$region> field. See the table in Regions and Availability Domains to find the <$region> values. Use the “Region Identifier” associated with the “Region Name” in which the token was created.

You can also use the checksum command to verify the package integrity.