The Azul Zulu Community Download API allows you to programmatically retrieve information about Zulu Community builds and download them.

Overview

The Azul Zulu Community Download API is a RESTful API intended to help you utilize Zulu Community binaries. This document refers to API version 1 (v1).

The base URL for REST endpoints is https://api.azul.com/zulu/download/community/v1.0/.

The API consists of the following REST endpoints:

List Endpoint
(bundles/)

Method: GET

Returns a list of bundle descriptions sorted by the OpenJDK version followed by a Zulu bundle version. The format of bundle description and a list of query parameters are given below.

Detail Endpoint
(bundles/<id>/)

Method: GET

Returns a single bundle description with a given id.

Binary Endpoint
(bundles/<id>/binary/)

Method: GET

Redirects the client to the bundle file with a given id.

Bundle description is a JSON structure that consists of the following fields:

NameFormatMeaning
idint or stringSurrogate primary key. Can be substituted with a special keyword latest (see below)
namestringBundle file name
jdk_versionint[3]The version of the OpenJDK being built
arch*stringTarget CPU architecture (see “Query Parameters)”
hw_bitness*stringTarget CPU word length (see “Query Parameters)”
os*stringTarget operating system (see “Query Parameters)”
bundle_type*stringWhether the bundle contains a JRE or the full JDK (see “Query Parameters)”
ext*stringBundle file extension (see “Query Parameters)”
last_modified*stringLast modification timestamp in ISO 8601 format
urlstringFull URL of the bundle
zulu_version*int[4]The version of the bundle
size*intFile size in bytes
md5_hash*stringThe MD5 digest of the bundle contents
features*stringSupported Java API features (see “Query Parameters)”

Fields, marked with *, appear only in the detail view. Other fields appear in both list and detail views.

Query parameters are intended for results filtering. They should be applied to:

  • The List endpoint − at any time;
  • The Detail and Binary endpoints − when latest keyword is used (see below).
NameLookup typeRequiredDescription
jdk_versionautomatic rangeno

Filters the result by the version of the OpenJDK, in a format of 3 numbers: major version, minor version, and revision − separated by dots (i.e. semantic versioning).

Numbers can be omitted starting from revision; omitted number corresponds to all values.

zulu_versionautomatic rangeno

Filters the result by the version of Zulu, in a format of 3 numbers: major version, minor version, and revision − separated by dots (i.e. semantic versioning).

Numbers can be omitted starting from revision; omitted number corresponds to all values.

osexact matchno

Filters the result by the operating system the bundle is targeting.

Allowed values:

  • linux − Linux, GLib
  • linux_musl − Linux, Musl
  • mac − macOS X
  • win − Windows
  • solaris − Solaris

 

archexact matchno

Filters the result by the CPU architecture the bundle is built for.

Allowed values: arm, mips, ppc, x86, sparcv9

hw_bitnessexact matchno

Filters the result by the word length of the CPU. Allowed values: 32, 64

extexact matchno

Filters the result by the extension of the bundle file.

Allowed values: cab, deb, rpm, msi, dmg, tar.gz, zip

bundle_typeexact matchno

Filters the result

featurescontainsno

Filters the result by the Java API features (see “Java API Features” below.

The latest Keyword

When id is substituted with this keyword, the endpoint returns a bundle with the latest OpenJDK version, considering the current query parameters.

Each bundle has a set of API features, such as JavaFX support, that can be filtered on. The features parameter accepts a list of desired features and returns bundles that support all of the APIs requested.

FeatureDescription
cp3The bundle is a compact3 Compact Profile
fxThe bundle includes the JavaFX API
headfullThe bundle includes a headless JVM
headlessThe bundle includes a headful JVM
jdkThe bundle is a JDK rather than a JRE (however, see the bundle_type parameter for a more convenient way to query for this)

Pass the desired features as a list in the format: "feature 1", "feature 2", ..."feature n".

For example, to query for headful JVMs that include JavaFX, set features to "headfull","fx"

Jump to:

List all available bundles

curl -H "Accept: application/json" "https://api.azul.com/zulu/download/community/v1.0/bundles/"

Response:

[
  {
    "id": 90,
    "name": "zulu1.6.0_42-6.2.0.9-x86lx64.zip",
    "url": "https://cdn.azul.com/zulu/bin/zulu1.6.0_42-6.2.0.9-x86lx64.zip",
    "jdk_version": [
      6,
      0,
      42,
      0
    ],
    "zulu_version": [
      6,
      2,
      0,
      9
    ]
  },
  {
    "id": 89,
    "name": "zulu1.6.0_42-6.2.0.9-x86lx64.rpm",
    "url": "https://cdn.azul.com/zulu/bin/zulu1.6.0_42-6.2.0.9-x86lx64.rpm",
    "jdk_version": [
      6,
      0,
      42,
      0
    ],
    "zulu_version": [
      6,
      2,
      0,
      9
    ]
  },
  {
    "id": 92,
    "name": "zulu1.6.0_47-6.3.0.3-win64.msi",
    "url": "https://cdn.azul.com/zulu/bin/zulu1.6.0_47-6.3.0.3-win64.msi",
    "jdk_version": [
      6,
      0,
      47,
      0
    ],
    "zulu_version": [
      6,
      3,
      0,
      3
    ]
  },
  ...
]

Request to list all the 64-bit OpenJDK 11 Linux builds in tar.gz format:

curl -H "Accept: application/json" "https://api.azul.com/zulu/download/community/v1.0/bundles/?version=11&ext=tar.gz&os=linux&arch=x86&hw_bitness=64"

Response:

[
    {
        "id": 8526,
        "name": "zulu6.11.0.2-jdk6.0.77-linux_x64.tar.gz",
        "url": "https://cdn.azul.com/zulu/bin/zulu6.11.0.2-jdk6.0.77-linux_x64.tar.gz",
        "jdk_version": [
            6,
            11,
            77
        ],
        "zulu_version": [
            6,
            11,
            0,
            0
        ]
    },
    {
        "id": 8531,
        "name": "zulu6.12.0.2-jdk6.0.79-linux_x64.tar.gz",
        "url": "https://cdn.azul.com/zulu/bin/zulu6.12.0.2-jdk6.0.79-linux_x64.tar.gz",
        "jdk_version": [
            6,
            12,
            79
        ],
        "zulu_version": [
            6,
            12,
            0,
            0
        ]
    },
    {
        "id": 8536,
        "name": "zulu6.13.0.3-jdk6.0.83-linux_x64.tar.gz",
        "url": "https://cdn.azul.com/zulu/bin/zulu6.13.0.3-jdk6.0.83-linux_x64.tar.gz",
        "jdk_version": [
            6,
            13,
            83
        ],
        "zulu_version": [
            6,
            13,
            0,
            0
        ]
    },
    
    ...
]

Request to list all bundles that include the JavaFX API:

curl -H "Accept: application/json" "https://api.azul.com/zulu/download/community/v1.0/bundles/?features=fx"

Response:

[
    {
        "id": 9050,
        "name": "zulu8.33.0.1-ca-fx-jdk8.0.192-win_i686.zip",
        "url": "https://cdn.azul.com/zulu/bin/zulu8.33.0.1-ca-fx-jdk8.0.192-win_i686.zip",
        "jdk_version": [
            8,
            33,
            192
        ],
        "zulu_version": [
            8,
            33,
            0,
            0
        ]
    },
    {
        "id": 9051,
        "name": "zulu8.33.0.1-ca-fx-jdk8.0.192-win_x64.zip",
        "url": "https://cdn.azul.com/zulu/bin/zulu8.33.0.1-ca-fx-jdk8.0.192-win_x64.zip",
        "jdk_version": [
            8,
            33,
            192
        ],
        "zulu_version": [
            8,
            33,
            0,
            0
        ]
    },
    
    ...
]

Request to show details on the latest 64-bit OpenJDK 8 Linux build in tar.gz format:

curl -H "Accept: application/json" "https://api.azul.com/zulu/download/community/v1.0/bundles/latest/?version=8&ext=tar.gz&os=linux&arch=x86&hw_bitness=64"

Response:

{
    "id": 9245,
    "arch": "x86",
    "hw_bitness": "64",
    "os": "linux",
    "ext": "tar.gz",
    "bundle_type": "jdk",
    "last_modified": "2019-07-17T16:57:59Z",
    "url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz",
    "name": "zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz",
    "zulu_version": [
        12,
        3,
        0,
        0
    ],
    "jdk_version": [
        12,
        3,
        2
    ],
    "size": 207735000,
    "md5_hash": "826f7b63b84456abd67d84128587c3a8",
    "sha256_hash": "660cacbed777b5f9048b1a2d6640422ca5921eddea086bc62cb78e9e453ae994",
    "features": [
        "jdk"
    ]
}

© Azul Systems, Inc. 2019 All rights reserved.