---
title: "Upload single-part blob"
method: POST
path: "/blobs"
tags: ["blobs"]
---

# Upload single-part blob

`POST /blobs`

## Request

- Base URL: `https://{tenant_name}.benchling.com/api/v2`
- URL: `https://{tenant_name}.benchling.com/api/v2/blobs`
- Auth: HTTP bearer

This endpoint uploads a blob in a single API call.

Blobs larger than 10MB should be uploaded in [multiple parts](https://docs.benchling.com/docs/api/v2/benchling-api/blobs/create-multipart-blob). The data64 parameter is the base64-encoded part contents, and the md5 parameter is the hex-encoded MD5 hash of the part contents. For example, given the string hello, data64 is aGVsbG8= and md5 is 5d41402abc4b2a76b9719d911017c592.

## Request body

- BlobCreate
  - `data64` string, byte, required: base64 encoded file contents
  - `md5` string, required: The MD5 hash of the blob part. Note: this should be the hash of the raw data of the blob part, not the hash of the base64 encoding.
  - `mimeType` string: eg. application/jpeg
  - `name` string, required: Name of the blob
  - `type` 'RAW_FILE' | 'VISUALIZATION', required: One of RAW_FILE or VISUALIZATION. If VISUALIZATION, the blob may be displayed as an image preview.

## Response `200`

Created

- Blob
  - `id` string, uuid: The universally unique identifier (UUID) for the blob.
  - `mimeType` string: eg. application/jpeg
  - `name` string: Name of the blob
  - `type` 'RAW_FILE' | 'VISUALIZATION': One of RAW_FILE or VISUALIZATION. If VISUALIZATION, the blob may be displayed as an image preview.
  - `uploadStatus` 'IN_PROGRESS' | 'COMPLETE' | 'ABORTED'

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/benchling/apis/benchling-api-2.md) - [All operations](https://skmtc.dev/benchling/apis/benchling-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/benchling/apis/benchling-api-2/revisions/01d2fa8523cd?raw)
