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

# Recipes

These recipes collect task-oriented examples for common Benchling developer workflows across the
API, apps, webhooks, Benchling Connect, and R-based analysis. Python examples use the
[V3 Python SDK](/docs/getting-started-with-the-v3-sdk) against the [V3 API](/docs/v3-api-overview),
including beta endpoints, so set `early_access="true"` on the client as each recipe shows. A few
recipes still call V2 for steps that V3 doesn't cover yet, and say so where they do.

#### [Upload results with the API](/docs/example-creating-results)

Create results one at a time, in an all-or-nothing batch, or in bulk.

#### [Register entities](/docs/registering-entities)

Move entities into the Registry with create, update, or bulk registration flows.

#### [Upload an attachment](/docs/uploading-an-attachment-to-benchling)

Upload a file as an attachment, then link it to a field or a notebook entry.

#### [Create notebook entries with results](/docs/creating-a-new-notebook-entry-containing-results)

Build notebook entries that capture and organize uploaded results.

#### [Get project collaborators](/docs/getting-information-on-project-collaborators)

Read project membership and the permissions behind it.

#### [Manage users via the API](/docs/user-management-via-the-api)

Create, update, and suspend Benchling users programmatically.

#### [Push request notifications to Slack](/docs/example-push-benchling-request-notification-to-slack)

Outdated: a V2 EventBridge integration that notifies Slack from Benchling requests.

#### [Introduction to transfers](/docs/introduction-to-transfers)

Move volume and mass between containers in Benchling Inventory.

#### [Process output files with Benchling Connect](/docs/use-apis-to-process-outputfile-with-lab-automation)

Send instrument output through Benchling Connect and process it programmatically.

#### [Custom transforms in Benchling Connect](/docs/custom-transforms-in-lab-automation)

Reshape instrument output before it is processed into results.

#### [Work with the API using R](/docs/interacting-with-the-api-using-r)

Retrieve, create, update, and archive Benchling data from R.

#### [Work with datasets using R](/docs/working-with-datasets-using-r)

Pull an analysis data frame into R, fit IC50 curves, and upload the plots back to Benchling.

## Step-by-step walkthroughs

These recipes pair a code panel with prose steps that highlight the lines each step is about.

#### [Image file upload](/docs/image-file-upload)

Read an image out of a spreadsheet cell and upload it as an attachment.

#### [Large attachment upload](/docs/large-attachment-upload)

Stream a large file to Benchling in one request, with the V2 multipart flow as a fallback.

#### [Single transfer: source container](/docs/single-transfer-source-container)

Move a container's entire contents into an empty destination.

#### [Single transfer: unlimited source](/docs/single-transfer-unlimited-source)

Transfer an entity into a container without drawing down a source container.

#### [Single transfer: non-empty container](/docs/single-transfer-transfer-into-non-empty-container)

Transfer into a container that already has contents, then read back the combined contents.

#### [Bulk transfer: create and fill](/docs/bulk-transfer-create-and-fill-javascript)

Create a plate and fill every well in one bulk call, then poll the async task.

#### [Find users with the V3 SDK](/docs/find-users-using-the-benchling-sdk)

Resolve a user from a username, a display name, or an API ID.

#### [Create a dropdown field](/docs/create-a-dropdown-field-using-the-sdk)

Build dropdown options and create the dropdown in your registry.

#### [Move a box](/docs/move-a-box-to-a-new-location-using-the-sdk)

Find a box by name and update its parent storage to move it.

#### [Convert SDK objects to JSON](/docs/convert-sdk-objects-to-json)

Page through results and serialize the returned SDK models to a file.

#### [Get many entities by name](/docs/get-a-large-number-of-entities-by-name)

Chunk a long name list so no request exceeds URL length limits.