> This page is for Developer Documentation.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.benchling.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.benchling.com/_mcp/server.

## New in App Canvas: File upload blocks and required fields

The following new features are now generally available in App Canvas:

### fileUploadUiBlock

A new `fileUploadUiBlock` is now available in the v2 REST API and the Benchling SDK (version 1.22.0 and higher).

This new UI block lets users upload files (up to 10 per block) of the file format(s) specified. A Benchling App can then retrieve the uploaded files via the `/blobs` endpoint.

![](/_fern-files/benchling-040512.docs.buildwithfern.com/1fd1202a0fcaf6dc036326340a0a5ea58ace9ca11b72eff7a18215ad28216da2/assets/images/changelog/new-in-app-canvas-file-upload-blocks-and-2f1a8cf38ada7d95.gif)

The new block is documented in our API Reference under [Apps > App Canvas](https://benchling.com/api/reference#/Apps/createAppCanvas):

![](/_fern-img/b7aef0eafaa67a3a981edf849c339c8327bda7aa42cee3c5c46f9330217d6db4.webp)

### Required fields

Apps can now mark any input fields in an App Canvas as required before the Canvas can be submitted.

A `required` option is available for:

* DropdownUiBlock
* DropdownMultiValueUiBlock
* SearchInputUiBlock
* SearchInputMultiValueUiBlock
* SelectorInputUiBlock
* SelectorInputMultiValueUiBlock
* FileUploadUiBlock
* TextInputUiBlock

### Placeholder values

The following input blocks in App Canvas can now contain placeholders to give end-users more guidance about the expected input value:

* DropdownUiBlock
* DropdownMultiValueUiBlock
* SearchInputUiBlock
* SearchInputMultiValueUiBlock
* SelectorInputUiBlock
* SelectorInputMultiValueUiBlock

Learn more about App Canvas [here](/docs/introduction-to-app-canvas#/).