Page Contents

Overview

Bintray exposes APIs with which an advanced user can systematically and automatically upload package files, specified by their URLs, using different tools. Depending on the repository type, package type, and other criteria, these may be build tools (such as Maven and Gradle), package management tools (such as Debian and RPM) and others (such as the HTTP client cURL). To upload a file using APIs you need to specify the precise URL that corresponds to the file’s location within Bintray.

Files are stored in Bintray in a well defined structure which is reflected in the APIs used to upload them.

For example, if someone with username "john" wants to use cURL to upload a file called "myfile.bin", using the Target Repository Path of "com/acme/projectx/rel15", to a repository called "myrepo", he could use the following line of code:

curl -u<YOUR USER_NAME>:<YOUR API_KEY> https://dl.bintray.com/content/john/myrepo/com/acme/projectx/rel15/myfile.bin

Set Me Up

Each repository and package offers a Set Me Up! button which displays a window showing upload instructions for each tool relevant to the specific repository or package. In addition, there is also a set of general instructions marked Read This First!

The example below shows a Set Me Up! window for a repository.
Set Me Up! for a repo (uploading)

Clicking the different options in this window displays instructions for the relevant procedure, with GUI screenshots or lines of code where necessary.

Note that you must include your authentication credentials, your Bintray username and your API Key, in the API call you use to upload package files.
File size should not exceed 250 MB, unless you are a Bintray Professional user.

Automatic Version Creation

When uploading files to Bintray using APIs, Bintray will automatically create a version in the following cases:

  • When a file is uploaded using Maven, if the file is uploaded to a path that does not yet exist, this path will be created.

  • When a file is uploaded using other tools, Bintray can create versions automatically if these are indicated in the tool’s HTTP header (where supported) or matrix parameters.

For more details on how to upload files using APIs, please refer to Upload Content in the Bintray REST API documentation.

Automatic Uploads: General Instructions

Distributing files via Bintray includes three steps: creating a version, uploading the files and publishing the files.

  1. Creating a Version: Uploaded files are associated with a specific version of a package.

    Some upload methods can create the version automatically as part of the upload; with other methods you will need to create a target version from the Bintray UI or using REST.

  2. Uploading: Upload your files using a tool (automatic upload).

    After uploading your files, the files have a status of un-published. This means that in the Bintray UI they are only visible to you and can only be downloaded with your username and API Key.

    You may discard all or some of your uploaded files when they are un-published, before anyone sees or downloads them.

  3. Publishing: When you are ready, you can publish your files and make them visible and available to all Bintray users.

    Publishing can be done via REST API (as part of the upload or separately) or using the UI (an unpublished content notice appears on your screen, with links to publish or discard the files).

    Some upload methods also allow you to publish your files automatically upon uploading, without the publishing step.