Improved

SDK version 1.24.0 Release Notes


This release expands automation and codon optimization APIs, introduces worksheet review events, and adds molecule and RNA sequence as entity types. It also includes a large spec sync to surface fields already returned by the API, new entry review process models in beta, and several bug fixes for entity deserialization and documentation accuracy.

What's changing?

Added

  • New v2-beta.worksheet.updated.reviewSnapshot webhook event type for tracking review snapshot status changes on Worksheets.
  • Entry review process information (stages and reviewers) added to the beta API, with a reviewProcesses field on entries returned by benchling.v2.beta.entries.get_by_id and on worksheet review records.
  • Codon optimization method parameter (MATCH_CODON_USAGE or USE_BEST_CODON) on benchling.aa_sequences.back_translate and benchling.dna_sequences.optimize_codons.
  • Custom gcContentRange (min/max decimal) option on benchling.aa_sequences.back_translate and benchling.dna_sequences.optimize_codons, as an alternative to the preset gcContent enum.
  • Repeat pattern format (nxkmer, e.g. "3x4mer") support in the reduced_patterns parameter for benchling.dna_sequences.optimize_codons.

Changed

  • benchling.lab_automation.create_output_processor: the input now accepts optional folderId, locationId, and timezone fields (previously only available in the UI).
  • benchling.containers.bulk_update: each item now accepts an optional role field for well plate well roles, matching the single-update container endpoint.
  • benchling.nucleotide_alignments.create_template_alignment: the input now accepts a shouldDisableCircularSequenceRotation boolean parameter (default false).
  • Schema field definition enums (FieldType, SimpleFieldDefinitionType, and AppConfigFieldType): added molecule_link value, visible in schemas returned by benchling.schemas.* methods.
  • Entities returned by benchling.registry.entities and entity get_by_id/list methods: added entityType discriminator and expanded to include Molecule and RnaSequence types.
  • Responses from benchling.containers.list_contents/contents_by_id and benchling.registry.entities: expanded entity references to include all entity types via *WithEntityType models.
  • Responses from benchling.aa_sequences, benchling.custom_entities, benchling.dna_sequences, benchling.rna_sequences, and benchling.monomers methods: added url field.
  • Responses from benchling.schemas methods (list_box_schemas/get_box_schema_by_id, list_entry_schemas/get_entry_schema_by_id, list_location_schemas/get_location_schema_by_id, list_plate_schemas/get_plate_schema_by_id, list_workflow_task_schemas/get_workflow_task_schema_by_id): added modifiedAt field.
  • Responses from benchling.workflow_outputs.get_by_id/list, benchling.workflow_tasks.get_by_id/list, and benchling.workflow_task_groups.get_by_id/list: added archiveRecord field.
  • Responses from benchling.workflow_task_groups.get_by_id/list and benchling.workflow_tasks.get_by_id/list: added workflowOutputs list.
  • Responses from benchling.dna_sequences.get_by_id/list: added dnaAlignmentIds; responses from benchling.rna_sequences.get_by_id/list: added alignmentIds.
  • Responses from benchling.monomers.list/create/update: added exactMolecularWeight (RDKit-calculated from chemical structure).
  • Structured table note parts on entries returned by benchling.entries.get_entry_by_id/list_entries: added name field to table identifiers.
  • App manifests returned by benchling.v2.beta.apps.get_manifest/update_manifest: added WORKFLOW_CANVAS canvas location value (alpha/beta).

Removed

  • bases removed from the required fields on benchling.rna_oligos.create; one of helm, bases, or customNotation is now accepted.

Fixed

  • Fixed entity union deserialization so that DNA oligos in plate well contents (e.g. from benchling.containers.list_contents) no longer incorrectly parse as custom entities (regression caused by adding transcriptions to DNA sequences).
  • Fixed field casing on responses from benchling.apps.get_by_id/list_apps: corrected apiUrl/webUrl to apiURL/webURL to match actual return values.
  • Included userId in v2.canvas.created object, where it was already being sent along with the actual payload.
  • Updated documentation to use "AA sequence" in place of "protein" across all API specs, without changing enum values or field names.