> 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.

## SDK Version 1.22.0 Release Notes

Version 1.22.0 of the integration adds service coverage with some breaking changes for the SDK including beta endpoints and connectors and new fields on several existing models. Notably, the App Canvas now includes the option to upload files via the `fileUploadUiBlock` and there is now a `benchling.connect` service. Archival and unarchival are supported for files and datasets. Also, there is added support for new python versions.

### What's changing?

#### Added

* New `benchling_sdk.models.fileUploadUiBlock` is supported in `benchling_sdk.models.AppCanvas`. See [full memo.](/docs/changelog/2025/6/9)
* New service `benchling.connect`. See [API Reference.](https://benchling.com/api/reference#/Connect)
  * New service `benchling.connect.convert_to_asm`.
  * New service `benchling.connect.convert_to_csv`.
  * New service `benchling.connect.list_allotropy_vendors`.

#### Promoted to stable

* Service `benchling.data_frames` was promoted to stable. See [API Reference](https://benchling.com/api/reference#/Data%20Frames).
  * In `benchling.data_frames.get_by_id(row_data_format)` there is now a Parquet format.
* Service `benchling.datasets` was promoted to stable. See [API Reference](https://benchling.com/api/reference#/Datasets).
  * Added `benchling.datasets.archive_datasets` function
  * Added `benchling.datasets.unarchive` function
* Service `benchling.files` was promoted to stable. See [API Reference](https://benchling.com/api/reference#/Files).
  * Added `benchling.files.archive_files` function
  * Added `benchling.files.unarchive` function
* Service `benchling.audit` was promoted to stable. See [API Reference](https://benchling.com/api/reference#/Audit).
* Webhook `benchling_sdk.models.webhooks.v0.CanvasCreatedWebhookV2` was promoted to stable. See [Webhook Reference](https://benchling.com/webhooks/reference).
  * Note: Apps should subscribe to `v2.canvas.created` and not `v2-beta.canvas.created` from now on.

#### Changed

* In `benchling_sdk.models.webhooks.v0.CanvasCreatedWebhookV2Beta` model there is now a `user_id `. See [Webhook Reference](https://benchling.com/webhooks/reference).
* In `benchling_sdk.models.webhooks.v0.CanvasInitializeWebhookV2` model there is now a `user_id `. See [Webhook Reference](https://benchling.com/webhooks/reference).
* In Canvas blocks- `benchling_sdk.models.DropdownUiBlock`, `benchling_sdk.models.DropdownMultiValueUiBlock`, `benchling_sdk.models.SearchInputUiBlock`, `benchling_sdk.models.SearchInputMultiValueUiBlock`, `benchling_sdk.models.SelectorInputUiBlock`, `benchling_sdk.models.SelectorInputMultiValueUiBlock` to there is now a `placeholder` field. See API Reference for [App Canvas.](https://benchling.com/api/reference#/Apps/createAppCanvas)
* In `benchling.aa_sequences.list`, `benchling.boxes.list`, `benchling.containers.list`, `benchling.custom_entities.list`, `benchling.dna_oligos.list`, `benchling.dna_sequences.list`, `benchling.locations.list`, `benchling.mixtures.list`, `benchling.molecules.list`, `benchling.nucleotide_alignments.list`, `benchling.plates.list`, `benchling.rna_oligos.list`, `benchling.rna_sequences.list` there is now the option to filter by the `created_at` parameter.
* In `benchling.custom_notation.get` there are now aliases. See [API Reference](https://benchling.com/api/reference#/Custom%20Notations).
* In `benchling_sdk.models.Molecule` folder\_id can now be None.
* In `benchling_sdk.modles.Entry` there is now a day field that can be populated by `benchling_sdk.model.EntryDay`
* In `benchling_sdk.models.EntryTemplate` there is now a day field that can be populated by `benchling_sdk.model.EntryTemplateDay`.

#### Removed

* Requests have now been deprecated to `benchling.legacy_requests`. See [API Reference](https://benchling.com/api/reference#/Legacy%20Requests).

#### Fixed

AsyncTask errors are now modeled correctly. Our public API specs were incorrectly specifying the payload shape returned from the `GET /tasks` endpoint. Specifically, in the case of a failed bulk task, the errors property on the payload will be a list of dicts. Previously, the spec claimed that the errors property would just be a single flat object. The spec now has a oneOf the old shape (dict) and the new (list of dicts).

#### General enhancements

* Added support for Python 3.12 and 3.13
* CSV file size limit increased from 15MB to 150MB
* Automation output processors now work with file ID
* Automation file transforms now work with File ID