Public APIs for Oracle Java Releases

JMS provides APIs to access information about all Oracle Java public releases, starting from July 2019 CPU. 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 are accessible over the java.oraclecloud.com domain and can be used without authentication or authorization. They 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. For each API, there are input parameters that you can use to filter specific information.

Java Versions

Java Versions API - 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.

Input Parameters

  • jdkVersion (string): filters the result by major Java version such as 8, 11, 17, or 21
  • isSupportedVersion (boolean): filters the result by Oracle support status. Accepted value: <true>
  • isLts (boolean): filters the result by long term support status. Accepted values: <true or false>
  • sortBy (string): sorts the result either by jdkVersion (default value) or endOfSupportLifeDate
  • sortOrder (string): order the result either by DESC (default value) or ASC

Java Releases

Java Releases API - 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.

Input Parameters

  • jdkVersion (string): filters the result by major Java version such as 8, 11, 17, or 21
  • isSupportedVersion (boolean): filters the result by Oracle support status. Accepted value: <true>
  • isLts (boolean): filters the result by long term support status. Accepted values: <true or false>
  • licenseType (string): filters the result by the license type such as OTN or NFTC
  • releaseType (string): filters the result by the release type such as CPU, FEATURE, or PATCH_RELEASE
  • releaseVersion (string): filters result by the Java release version
  • securityStatus (string): filters the result by the security status such as UP_TO_DATE, UPDATE_REQUIRED, UPGRADE_REQUIRED, or UNKNOWN
  • daysUnderSecurityBaseline (integer): filters the result by the number of days it is under the security baseline. 0 days indicates it is up to date.
  • sortBy (string): sorts the result by releaseDate (default value), releaseVersion, jdkVersion, or licenseType
  • sortOrder (string): order the result either by DESC (default value) or ASC

Java Release of Specific Version

Java Release of Specific Version API - 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.

Input Parameters

  • artifactType (string): filters the artifacts by the supported artifact content type such as JDK, JRE, or SERVER_JRE
  • osFamily (string): filters the artifacts by the supported operating system such as macOS, Windows, Linux, or Solaris
  • architecture (string): filters the artifacts by the supported operating system architecture such as aarch64, x64, sparcv9, i586, or arm32
  • packageType (string): filters the artifacts by the supported artifact package type such as zip, exe, dmg, deb, rpm, tar.gz, msi or tar.Z
  • sortBy (string): sorts the result by osFamily (default value), architecture, artifactType, or packageType
  • sortOrder (string): orders the result either by DESC or ASC (default value)

Current Java Releases

Current Java Releases API - 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.

Input Parameters

  • jdkVersion (string): filters the result by major Java version such as 8, 11, 17, or 21
  • isSupportedVersion (boolean): filters the result by Oracle support status. Accepted value: <true>
  • isLts (boolean): filters the result by long term support status. Accepted values: <true or false>
  • licenseType (string): filters the result by the license type such as OTN or NFTC
  • releaseType (string): filters the result by the release type such as CPU, FEATURE, or PATCH_RELEASE
  • sortBy (string): sorts the result by releaseDate (default value), releaseVersion, jdkVersion, or licenseType
  • sortOrder (string): order the result either by DESC (default value) or ASC

Current Java Release of Specific Java Version

Current Java Release of Specific Java Version API - 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.

Input Parameters

  • artifactType (string): filters the artifacts by the supported artifact content type such as JDK, JRE, or SERVER_JRE
  • osFamily (string): filters the artifacts by the supported operating system such as macOS, Windows, Linux, or Solaris
  • architecture (string): filters the artifacts by the supported operating system architecture such as aarch64, x64, sparcv9, i586, or arm32
  • packageType (string): filters the artifacts by the supported artifact package type such as zip, exe, dmg, deb, rpm, tar.gz, msi or tar.Z
  • sortBy (string): sorts the result by osFamily (default value), architecture, artifactType, or packageType
  • sortOrder (string): orders the result either by DESC or ASC (default value)

Using Java REST APIs

You can use the Java API input 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.