Skip to main content
Upload a binary image to the Binarly Transparency Platform for security analysis. The binary never passes through the API server: you upload it to a pre-signed storage URL, then create the image from that uploaded file.
1

Generate upload URL

Request a temporary file ID and a time-limited pre-signed URL.
2

Upload the binary

Upload your file directly to the pre-signed URL.
3

Create the image

Create an image from the uploaded file. By default, this also starts the first scan.

Step 1: Generate upload URL

Call this endpoint to create a temporary file and receive its upload URL.
Request

Response

The endpoint returns 201 Created with the temporary file id and the uploadUrl for the next step.
The temporary file belongs to the product in the request path and to the user or API client that generated it. Only that same identity can create an image from it, and each temporary file can be used once.

Step 2: Upload the binary

Upload your binary to the uploadUrl from Step 1 with a PUT request.
Request
This request does not need the Authorization header, because the URL itself is signed.

Step 3: Create the image

After the upload returns HTTP 200, create the image. Send the fields as a JSON body. Endpoint

Request body

string
required
The id returned in Step 1.
string
required
A human-readable name for the image. Names must be unique within a product.
string
required
The file name to record for the uploaded binary, for example firmware.bin.
string
The image version. When set, it must be a full semantic version such as 1.0.0.
boolean
default:"true"
Start a scan of the image right after it is created. Set to false to create the image without scanning it.
Request

Response

The endpoint returns 201 Created with the new image. When a scan was started, the scans array contains it.
Use the image id to poll the scan or upload debug symbols.

Errors

If image creation fails, the temporary file cannot be reused. Repeat the workflow from Step 1 to retry.