Good news! Enterprise-scale distribution is now handled through the robust JFrog Platform.
Please contact us with any questions.

Skip to end of metadata
Go to start of metadata


Bintray repositories and packages form a structured and logical way for you to organize your content according to development technology and functionality. They are also the basis of how end users will search for and find your content. However, to distribute a complete and coherent software offering, you may want to assemble a set of packages from different repositories that you own. For example, if you developed a piece of software as both a Maven package and a NuGet package, and in addition, you want to offer it as a Docker image, you may want to assemble all three of these packages into a single offering. This is where Products come into play.

Products in Bintray offers a convenient way to assemble a set of packages into one coherent whole, letting you expose your software, in all its forms as a single offering.
A product may contain multipe packages where each package serves as an installation flavour. For example, a Docker installation, Debian or RPM.
The product version list displays the versions that are available for the product packages.

Product Version Matrix



Assembling packages into a Product presents several benefits: 

  • It collects all components of your product offering in a single place, making it easy for you to manage.

  • Products offer a more natural way for users to search for content as opposed to searching for repositories or packages.

  • An update to any of the packages in the product is automatically reflected as a new version of the product itself.

  • Products offer a convenient and central place from which you can manage the EULAs for the product’s constituent packages.

Page Contents

Products is a feature of Bintray Premium and is available to Enterprise customers.

Your products are displayed at the top of the Bintray homepage once you are signed in.



You can manage and view packages, EULAs and permissions, on the product level. 

Product EULA

Users and organizations on an Enterprise plan can assign a EULA for each product version.Oncea EULA is assigned to a product, any user downloading any of the packages in the product will have to accept the EULA before being able to complete the download. Once the user has accepted the EULA, they can download any of the packages in the product’s version. The user’s acceptance of the EULA is valid for new versions of the product, so even if the product gets updated, the user may continue to download new versions. The user’s acceptance of the EULA remains valid even if the EULA gets updated. The user will only have to renew their acceptance of the EULA next time they download a package if the EULA itself gets replaced.

Displaying Your EULA Before Download

Bintray lets you define a download URL which displays the corresponding EULA before providing access to your products' files. When an end user clicks on the download URL for any of a product’s files, Bintray will first display the product’s assigned EULA. Once the end user accepts the EULA, download commences automatically.

Download URLs that display your EULA have the following format:

:subject: The user or organization that owns the product 
:repo: The name of the repository that is hosting the file
file_path: The fully qualified path in Bintray to the file

For example, to provide a download URL that requires the end user to accept the EULA for the JFrog Mission Control v1.1 installation ZIP file, JFrog would provide the following URL (click on the link to see the feature in action):


Automated EULA-Protected Downloads using the REST API

Download URLs that display a EULA work when the downloading user is going through Bintray’s UI and downloading publicly available content, however, they won’t work when your user wants to download the content through automation scripts in which there is no human intervention. Moreover, the download URLs require that the downloading user has a Bintray account, which may not always be the case.

Bintray offers a solution for this scenario that lets you provide automated downloads via REST API for private content that is EULA protected to external users.
Here is how it works: 

  • Create an entitlement and access key that provides read access (at least) to your content

  • Provide your downloading user with the access key and its password

  • The user constructs a URL which,when pasted in a browser, notifies Bintray to display your EULA to be accepted

  • The user pastes the provided URL in a browser, logs in using the access key and password you provided and is presented with the EULA

  • The user accepts your EULA

  • Subsequent attempts to download the product that include the access key you provided will progress to completion since the EULA has already been accepted with the access key provided.

In this manner, you have provided automated access for external users (and scripts) to download your content via REST API while protecting your Products with a EULA.

Constructing the EULA Acceptance URL

To get Bintray to display your EULA, construct the URL in the following format:[?account_username=:username]

:subject: The user or organization that owns the product
:product: The product for which you want to provide access
:version: The version for which you want to provide access
:username: The access key

Consider the following example: User "amy" wants to provide Bob (who doesn’t have a Bintray account) with access to a product called "AmyProd" version 1.1. Amy wants to protect her content and has protected it with a EULA. Amy creates the appropriate entitlement to her content and generates an access key called "amyOrg-key1@amyOrg" whose password is "p4ssw0rd", and provides these to Bob.

Bob now browses to the following URL:

Bintray displays a login screen for Bob to logintousingthe key ("amyOrg-key1@amyOrg") and password ("p4ssw0rd") that Amy provided him with.

After Bob logs in, Bintray displays the EULA which he can now accept.

From now on, any REST API used to download this version of Amy’s product that includes "amyOrg-key1@amyOrg" will progress to completion without requiring additional EULA acceptance. In other words, Bob (or anyone else with "amyOrg-key1@amyOrg") can use automation to download AmyProd 1.1

Effectively, Bob is an external user who is accessing Amy’s private content that requires EULA acceptance through the REST API - exactly the scenario described at the beginning of this section.

Tracking EULA Acceptance

To help you keep track of downloads for a product, Bintray shows you all users who have accepted its EULA. To view the list of users who have accepted a product’s EULA, select the EULA Tracking tab of the Edit Product page.


Creating and Editing a Product

To create a new product, click New Product on the Bintray homepage. Bintray will display the New Product form where you can fill in the details of your product.


Adding Packages

Once your product is created, you can add packages to it. Click your product on the Bintray homepage to display its product page, and then click Edit.

On the Edit Product page, select the Packages tab and click Add Package. In the search box that pops up, start typing the name of the package you want to add. Bintray will display all the packages you own, in any repository, that match the search term. Select the packages you want to addfrom the list.


Once you have finished adding the relevant packages, you can see them displayed along with an indication of which teams have read access to the added packages. Click on the package’s permission to go to the relevant repository page if you need to modify access permissions for the package.

The Statistics Tab

Bintray allows you to view how many times a certain package or version has been downloaded, when the download occurred and where the downloader was located. This information indicates which packages or versions are recommended, popular or dealwithcommonly-used functionalities, so you can make a more informed decision about what you should download and use. You can also use this info as feedback about your own packages and versions.


The EULAs Tab 

As described above, you can attach a EULA to your product if you are on an Enterprise plan. The EULA tab is where you can create all the EULAs you may need and gives you the option of writing them in asciidocmarkdown, or plain text. Once you have created EULAs, you can set one of them to be the default EULA assigned to any new version of your product.


  • No labels