openapi: 3.2.0 info: license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html title: Benchling Dna Sequence API version: 2.0.0 description: 'Represents a DNA sequence in Benchling''s molecular biology platform. A `DnaSequence` stores the nucleotide bases of the forward strand along with rich annotations for biological features such as genes, promoters, and regulatory elements. Sequences can be linear or circular (controlled by `isCircular`) and support translation annotations for protein-coding regions (see `Translation`), primer binding sites (see `Primer`), and part features linking to other sequences (see `DnaPart`). DNA sequences can be registered in the Registry with a unique `entityRegistryId`, organized in folders, and linked to other entities via schema fields. Also known as "Sequence" in the Benchling interface, with IDs prefixed by ''seq''.' servers: - url: /api/v3 security: - oAuth: [] - basicApiKeyAuth: [] tags: - description: 'Represents a DNA sequence in Benchling''s molecular biology platform. A `DnaSequence` stores the nucleotide bases of the forward strand along with rich annotations for biological features such as genes, promoters, and regulatory elements. Sequences can be linear or circular (controlled by `isCircular`) and support translation annotations for protein-coding regions (see `Translation`), primer binding sites (see `Primer`), and part features linking to other sequences (see `DnaPart`). DNA sequences can be registered in the Registry with a unique `entityRegistryId`, organized in folders, and linked to other entities via schema fields. Also known as "Sequence" in the Benchling interface, with IDs prefixed by ''seq''.' name: DnaSequence x-bnch-core-type: DnaSequence x-bnch-organization: Benchling paths: /dna-sequence: post: description: Create DnaSequence. operationId: DnaSequence.Create parameters: - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateDnaSequenceInput' responses: '201': content: application/json: schema: $ref: '#/components/schemas/DnaSequence' description: Created '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Create DnaSequence tags: - DnaSequence x-bnch-rate-limit-tier: 4 /dna-sequence/items: get: description: List DnaSequence items. operationId: DnaSequence.List parameters: - $ref: '#/components/parameters/archiveReason.anyOf' - $ref: '#/components/parameters/archived.anyOf' - $ref: '#/components/parameters/authors.anyOf' - $ref: '#/components/parameters/bases.anyOf' - $ref: '#/components/parameters/createdAt.gt' - $ref: '#/components/parameters/createdAt.gte' - $ref: '#/components/parameters/createdAt.lt' - $ref: '#/components/parameters/createdAt.lte' - $ref: '#/components/parameters/creator.anyOf' - $ref: '#/components/parameters/fieldset.anyOf' - $ref: '#/components/parameters/id.anyOf' - $ref: '#/components/parameters/mentionedIn.anyOf' - $ref: '#/components/parameters/modifiedAt.gt' - $ref: '#/components/parameters/modifiedAt.gte' - $ref: '#/components/parameters/modifiedAt.lt' - $ref: '#/components/parameters/modifiedAt.lte' - $ref: '#/components/parameters/name.anyOf' - $ref: '#/components/parameters/name.anyOf.caseSensitive' - $ref: '#/components/parameters/nextToken' - $ref: '#/components/parameters/omit' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/project.eq' - $ref: '#/components/parameters/registry.eq' - $ref: '#/components/parameters/returning' - $ref: '#/components/parameters/schema.anyOf' - $ref: '#/components/parameters/schema.eq' - $ref: '#/components/parameters/systemCategory.anyOf' - description: 'Method by which to order results. Valid sorts are: createdAt (created time, oldest first) and modifiedAt (modified time, oldest first). Use :asc or :desc to specify ascending or descending order. Default is modifiedAt:desc.' in: query name: sort schema: default: modifiedAt:desc enum: - createdAt:asc - createdAt:desc - modifiedAt:asc - modifiedAt:desc type: string - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/DnaSequencePaginatedList' description: OK headers: {} '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: List DnaSequence items tags: - DnaSequence x-bnch-rate-limit-tier: 4 /dna-sequence/{dna_sequence_id}: get: description: Get a single DnaSequence by ID. operationId: DnaSequence.Get parameters: - description: ID of the DnaSequence. in: path name: dna_sequence_id required: true schema: type: string - $ref: '#/components/parameters/returning' - $ref: '#/components/parameters/omit' - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/DnaSequence' description: OK headers: {} '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Get DnaSequence by ID tags: - DnaSequence x-bnch-rate-limit-tier: 5 patch: description: Update DnaSequence. operationId: DnaSequence.Update parameters: - description: ID of the DnaSequence. in: path name: dna_sequence_id required: true schema: type: string - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateDnaSequenceInput' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DnaSequence' description: OK '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Update DnaSequence tags: - DnaSequence x-bnch-rate-limit-tier: 4 /dna-sequence/{dna_sequence_id}/authors/items: get: description: List Principal items. operationId: DnaSequence.authors.List parameters: - description: ID of the DnaSequence. in: path name: dna_sequence_id required: true schema: type: string - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/PrincipalUnpaginatedList' description: OK headers: {} '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: List Principal items tags: - DnaSequence x-bnch-rate-limit-tier: 4 /dna-sequence/{dna_sequence_id}/parts/items: get: description: List DnaPart items. operationId: DnaSequence.parts.List parameters: - description: ID of the DnaSequence. in: path name: dna_sequence_id required: true schema: type: string - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/DnaPartUnpaginatedList' description: OK headers: {} '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: List DnaPart items tags: - DnaSequence x-bnch-rate-limit-tier: 4 /dna-sequence:batch-create: post: description: Batch create DnaSequence synchronously in one transaction. Maximum 25 items per request. operationId: DnaSequence.BatchCreate parameters: - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: additionalProperties: false properties: items: items: $ref: '#/components/schemas/CreateDnaSequenceInput' maxItems: 25 minItems: 1 type: array required: - items type: object responses: '201': content: application/json: schema: additionalProperties: false properties: items: items: $ref: '#/components/schemas/DnaSequence' type: array required: - items type: object description: Created '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Batch create DnaSequence tags: - DnaSequence x-bnch-rate-limit-tier: 3 /dna-sequence:batch-update: patch: description: Batch update DnaSequence synchronously in one transaction. Maximum 25 items per request. operationId: DnaSequence.BatchUpdate parameters: - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: additionalProperties: false properties: items: items: $ref: '#/components/schemas/UpdateDnaSequenceInputWithPathParams' maxItems: 25 minItems: 1 type: array required: - items type: object responses: '200': content: application/json: schema: additionalProperties: false properties: items: items: $ref: '#/components/schemas/DnaSequence' type: array required: - items type: object description: OK '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Batch update DnaSequence tags: - DnaSequence x-bnch-rate-limit-tier: 3 /dna-sequence:bulk-create: post: description: Bulk create DnaSequence. operationId: DnaSequence.BulkCreate parameters: - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkImport' responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncTaskLink' description: Task started '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Bulk create DnaSequence tags: - DnaSequence x-bnch-rate-limit-tier: 2 /dna-sequence:bulk-update: patch: description: Bulk update DnaSequence. operationId: DnaSequence.BulkUpdate parameters: - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkImport' responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncTaskLink' description: Task started '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Bulk update DnaSequence tags: - DnaSequence x-bnch-rate-limit-tier: 2 webhooks: v3.dnaSequence.created: post: description: Sent to Benchling Apps subscribed to `v3.dnaSequence.created` when a DnaSequence they can access is created. operationId: DnaSequence.Created requestBody: content: application/json: schema: $ref: '#/components/schemas/DnaSequenceCreatedWebhookEnvelopeV3' description: The `v3.dnaSequence.created` event. required: true responses: '200': description: Return a 200 status code to acknowledge receipt of the webhook. summary: DnaSequence created tags: - DnaSequence v3.dnaSequence.updated: post: description: Sent to Benchling Apps subscribed to `v3.dnaSequence.updated` when a DnaSequence they can access is updated. `message.properties` lists the properties that changed. operationId: DnaSequence.Updated requestBody: content: application/json: schema: $ref: '#/components/schemas/DnaSequenceUpdatedWebhookEnvelopeV3' description: The `v3.dnaSequence.updated` event. required: true responses: '200': description: Return a 200 status code to acknowledge receipt of the webhook. summary: DnaSequence updated tags: - DnaSequence components: schemas: DnaSequenceUpdatedWebhookV3: allOf: - $ref: '#/components/schemas/V3UpdateEventBase' - properties: type: description: The event type. enum: - v3.dnaSequence.updated type: string required: - type type: object description: Message body of a `v3.dnaSequence.updated` event. Transcription: description: 'Represents a transcribed region on a DNA sequence that produces an RNA product. Transcriptions link a region of a DnaSequence to the corresponding RnaSequence entity, enabling traceability between DNA templates and their RNA transcripts. The position range (start/end) defines where transcription begins and ends on the DNA template, while strand indicates the transcribed strand direction. This feature is derived from schema field relationships rather than being directly editable as an annotation.' properties: __typename: type: string end: description: '0-based exclusive end index. For ranges ending at the end of a circular sequence, this value is always the length of the sequence, never 0.' type: integer rnaSequence: $ref: '#/components/schemas/RnaSequenceRef' description: RNA sequence this transcription refers to. start: description: 0-based inclusive start index. type: integer strand: description: Strand for this transcription; 1 for forward strand, -1 for reverse strand. type: integer type: object WebhookApp: description: The Benchling App the webhook was delivered to. properties: id: description: API ID of the app. examples: - app_1jdbvuo2740aslk type: string required: - id type: object ProjectRef: properties: __typename: type: string id: format: api_id type: string type: object AppInstallation: description: 'Represents an installed Benchling App on a tenant, created from an `AppDefinitionVersion`. App installations store tenant-specific configuration values and feature bindings. As a Principal, app installations can be attributed as actors for API operations and auditing.' properties: __typename: type: string archiveReason: type: - 'null' - string archived: type: boolean configurationValues: format: uri type: string createdAt: format: datetime type: - 'null' - string creator: oneOf: - $ref: '#/components/schemas/PrincipalRef' - type: 'null' featureValues: items: $ref: '#/components/schemas/AssayRunFeatureValue' type: array id: type: string modifiedAt: format: datetime type: - 'null' - string name: type: string type: object CreateDnaSequenceInput: additionalProperties: false properties: aliases: items: type: string type: array annotations: description: 'Annotations on the DNA sequence, not including translations or primers. Annotations on parts are not included.' items: $ref: '#/components/schemas/NucleotideAnnotationInput' type: array authorIds: items: type: string type: array bases: description: Bases of the forward strand of the DNA sequence. type: string customFields: additionalProperties: $ref: '#/components/schemas/FieldValueInput' type: object entityRegistryId: type: string folderId: type: string isCircular: description: Field will be set to false if not specified. type: boolean name: type: string namingStrategy: enum: - NEW_IDS - IDS_FROM_NAMES - DELETE_NAMES - SET_FROM_NAME_PARTS - REPLACE_NAMES_FROM_PARTS - KEEP_NAMES - REPLACE_ID_AND_NAME_FROM_PARTS type: string parts: description: Part features on the DNA sequence. items: $ref: '#/components/schemas/NucleotidePartInput' type: array primers: description: Primer bind features on the DNA sequence. Primers on parts are not included. items: $ref: '#/components/schemas/PrimerInput' type: array registryId: type: - 'null' - string schemaFields: additionalProperties: $ref: '#/components/schemas/FieldValueInput' type: object schemaId: type: string translations: description: 'Translation annotations present on the DNA sequence. Translations may be one region or split across multiple regions. Translations on parts are not included.' items: $ref: '#/components/schemas/TranslationInput' type: array required: - folderId - name - bases type: object Primer: description: 'Represents a primer binding site on a nucleotide sequence, indicating where an oligonucleotide primer anneals for PCR amplification or sequencing. The Primer links to an Oligo entity containing the actual primer sequence and name. Position fields define the binding region on the template (start/end), while bindPosition specifies the 3'' end of the binding region (critical for extension). The overhangLength indicates how many 5'' bases extend beyond the binding region (used for adding restriction sites or tags). Strand indicates whether the primer binds to the forward (1) or reverse (-1) strand.' properties: __typename: type: string bindPosition: description: 0-based index of the base at the 3' end of the binding region. type: integer end: description: '0-based exclusive end of the binding region. For ranges ending at the end of a circular sequence, this value is always the length of the sequence, never 0.' type: integer oligo: $ref: '#/components/schemas/OligoRef' description: Linked primer entity, which holds the name, bases, and color for this primer bind site. overhangLength: description: Number of 5' primer bases that are not part of the binding region. type: integer start: description: 0-based inclusive start of the binding region. type: integer strand: description: Strand for this primer; 1 for forward strand, -1 for reverse strand. type: integer type: object CustomField: description: 'A name-value pair for storing additional metadata on objects that support custom fields. CustomFields provide a flexible way to attach arbitrary string data to entities, containers, datasets, and other Benchling objects without modifying their schemas. Objects that can have custom fields implement the HasCustomFields interface. Unlike schema-defined fields, custom fields are not validated against a schema and can be freely added or modified.' properties: __typename: type: string name: type: - 'null' - string value: type: - 'null' - string type: object User: description: 'Represents a human user in Benchling who can log in, perform actions, and own data. Users belong to one or more Organizations and may be members of Teams within those organizations. As an Owner, users can own Projects, Folders, and other resources. As a Principal, users can be assigned as reviewers, authors, or collaborators on various items. Users have attributes like email and username for identification. Users are distinct from `ServicePrincipal`, which represents non-human service accounts used for integrations.' properties: __typename: type: string createdAt: format: datetime type: string email: type: string id: type: string lastSeen: format: datetime type: - 'null' - string modifiedAt: format: datetime type: string name: type: - 'null' - string status: enum: - ACTIVE - SUSPENDED type: string username: type: string type: object CustomFieldInput: additionalProperties: false properties: name: type: string value: type: string required: - name type: object SchemaFieldValue: description: 'Represents a field value on a schematized object, pairing a `fieldDefinition` (describing the field''s type and constraints) with its actual `value` (a `BenchlingValue` such as text, number, date, or link to another object). The value may be null if no value has been set. Used within the `schemaFields` collection on objects that implement `HasSchema` to provide access to all custom field values defined by the object''s schema.' properties: __typename: type: string fieldDefinition: $ref: '#/components/schemas/SchemaFieldDefinitionRef' id: type: string linkedEntityId: type: - 'null' - string value: description: Union of BooleanValue, DateTimeValue, DateValue, DecimalValue, IntegerValue, JsonValue, ObjectLinkValue, ObjectLinkListValue, TextAndUrlValue, TextValue, ArrayValue oneOf: - anyOf: - $ref: '#/components/schemas/BooleanValue' - $ref: '#/components/schemas/DateTimeValue' - $ref: '#/components/schemas/DateValue' - $ref: '#/components/schemas/DecimalValue' - $ref: '#/components/schemas/IntegerValue' - $ref: '#/components/schemas/JsonValue' - $ref: '#/components/schemas/ObjectLinkValue' - $ref: '#/components/schemas/ObjectLinkListValue' - $ref: '#/components/schemas/TextAndUrlValue' - $ref: '#/components/schemas/TextValue' - $ref: '#/components/schemas/ArrayValue' discriminator: propertyName: __typename - type: 'null' type: object AppConfigWorkflowTaskSchemaOutput: description: Defines the output field structure for a workflow task schema configuration. properties: __typename: type: string fieldDefinitions: oneOf: - items: $ref: '#/components/schemas/AppConfigFieldDefinition' type: array - type: 'null' type: object ResourceAppConfigSpec: description: 'Specifies that an app configuration field should reference a Benchling object instance. The type field identifies the kind of object required, matching the BenchlingAppType values used in app manifests (e.g. dna_sequence, folder, registry). Covers all instance reference types with no additional spec constraints beyond requiredConfig. For schema references use SchemaAppConfigSpec or EntitySchemaAppConfigSpec.' properties: __typename: type: string requiredConfig: type: - 'null' - boolean type: enum: - BOX_SCHEMA - CONTAINER_SCHEMA - ENTRY_SCHEMA - LEGACY_REQUEST_SCHEMA - LOCATION_SCHEMA - PLATE_SCHEMA - RESULT_SCHEMA - RUN_SCHEMA - WORKFLOW_TASK_SCHEMA - AA_SEQUENCE - ASSAY_RESULT - ASSAY_RUN - AUTOMATION_INPUT_GENERATOR - AUTOMATION_OUTPUT_PROCESSOR - BLOB - BOX - CONTAINER - CUSTOM_ENTITY - DNA_ALIGNMENT - DNA_OLIGO - DNA_SEQUENCE - DROPDOWN - DROPDOWN_OPTION - ENTRY - FIELD - FOLDER - LEGACY_REQUEST - LOCATION - MIXTURE - MOLECULE - PLATE - PROJECT - REGISTRY - RNA_OLIGO - RNA_SEQUENCE - WORKFLOW_TASK_STATUS - WORKLIST - null type: - 'null' - string type: object DnaSequence: allOf: - $ref: '#/components/schemas/IDnaSequence' - description: 'Represents a DNA sequence in Benchling''s molecular biology platform. A `DnaSequence` stores the nucleotide bases of the forward strand along with rich annotations for biological features such as genes, promoters, and regulatory elements. Sequences can be linear or circular (controlled by `isCircular`) and support translation annotations for protein-coding regions (see `Translation`), primer binding sites (see `Primer`), and part features linking to other sequences (see `DnaPart`). DNA sequences can be registered in the Registry with a unique `entityRegistryId`, organized in folders, and linked to other entities via schema fields. Also known as "Sequence" in the Benchling interface, with IDs prefixed by ''seq''.' properties: __typename: type: string authors: oneOf: - format: uri type: string - type: 'null' creator: oneOf: - $ref: '#/components/schemas/PrincipalRef' - type: 'null' schemaFields: oneOf: - items: $ref: '#/components/schemas/SchemaFieldValue' type: array - type: 'null' type: object DateTimeValue: description: A type that represents datetime values. properties: __typename: type: string value: description: The datetime value with UTC as the timezone. format: datetime type: string type: object RegistrationOrigin: description: 'Captures the provenance of an entity''s registration into the registry. The `originEntry` links to the `DocumentLike` (typically an entry or notebook) from which the entity was registered, providing traceability back to the original experimental context. The `registeredAt` timestamp records when the registration occurred. This information helps scientists understand where registered entities came from and when they were added to the registry.' properties: __typename: type: string originEntry: oneOf: - $ref: '#/components/schemas/DocumentLikeRef' - type: 'null' registeredAt: format: datetime type: - 'null' - string type: object Translation: description: 'Represents a protein-coding region (CDS) on a nucleotide sequence, showing the translated amino acid sequence. Translations can span a single contiguous region or multiple regions for spliced genes (see RegionsListItem). The aminoAcids field contains the computed protein sequence based on the geneticCode (see CodonTranslationTable). The translateFirstCodonToMethionine option forces the start codon to encode methionine regardless of the actual codon. Translations display as colored overlays on the sequence viewer, with the three-letter amino acid codes shown above the nucleotide bases.' properties: __typename: type: string aminoAcids: description: 'Calculated amino acid translation of the specified regions, combining codons across regions if necessary.' type: string color: description: Hex color when displaying the translation. type: string customFields: description: Custom fields on the translation. items: $ref: '#/components/schemas/CustomField' type: array end: deprecated: true description: '0-based exclusive end index. For ranges ending at the end of a circular sequence, this value is always the length of the sequence, never 0. Use regions instead for location information.' type: - 'null' - integer geneticCode: description: Genetic code for the translation. enum: - STANDARD - VERTEBRATE_MITOCHONDRIAL - YEAST_MITOCHONDRIAL - MOLD_PROTOZOAN_COELENTERATE_MITOCHONDRIAL_MYCOPLASMA_SPIROPLASMA - INVERTEBRATE_MITOCHONDRIAL - CILIATE_DASYCLADACEAN_HEXAMITA_NUCLEAR - ECHINODERM_FLATWORM_MITOCHONDRIAL - EUPLOTID_NUCLEAR - BACTERIAL_ARCHAEAL_PLANT_PLASTID - ALTERNATIVE_YEAST_NUCLEAR - ASCIDIAN_MITOCHONDRIAL - ALTERNATIVE_FLATWORM_MITOCHONDRIAL - CHLOROPHYCEAN_MITOCHONDRIAL - TREMATODE_MITOCHONDRIAL - SCENEDESMUS_OBLIQUUS_MITOCHONDRIAL - THRAUSTOCHYTRIUM_MITOCHONDRIAL - RHABDOPLEURIDAE_MITOCHONDRIAL - CANDIDATE_DIVISION_SR1_GRACILIBACTERIA - PACHYSOLEN_TANNOPHILUS_NUCLEAR - KARYORELICT_NUCLEAR - CONDYLOSTOMA_NUCLEAR - MESODINIUM_NUCLEAR - PERITRICH_NUCLEAR - BLASTOCRITHIDIA_NUCLEAR - CEPHALODISCIDAE_MITOCHONDRIAL_UAA_TYR type: string name: description: Name of the translation. type: string notes: description: Text notes on the translation. type: string regions: description: Array of regions of the translation. For single-region translations, this is an array with one element. items: $ref: '#/components/schemas/RegionsListItem' type: array start: deprecated: true description: '0-based inclusive start index. Use regions instead for location information.' type: - 'null' - integer strand: description: Strand for this annotation; 1 for forward strand, -1 for reverse strand. type: integer translateFirstCodonToMethionine: description: Whether or not the first codon has been forced to be translated as methionine. type: boolean type: object FolderRef: properties: __typename: type: string id: format: api_id type: string type: object FloatAppConfigSpec: description: Specifies that an app configuration field should accept a floating-point number. properties: __typename: type: string enum: description: Optional enum constraint — if present, the value must be one of these floats. oneOf: - items: type: number type: array - type: 'null' requiredConfig: type: - 'null' - boolean type: object OligoRef: properties: __typename: type: string id: format: api_id type: string type: object WorkflowTaskSchemaAppConfigSpec: description: 'Specifies that an app configuration field should reference a workflow task schema. Kept separate from SchemaAppConfigSpec because it supports output field definitions.' properties: __typename: type: string fieldDefinitions: oneOf: - items: $ref: '#/components/schemas/AppConfigFieldDefinition' type: array - type: 'null' output: description: Output field definitions for the workflow task schema. oneOf: - $ref: '#/components/schemas/AppConfigWorkflowTaskSchemaOutput' - type: 'null' requiredConfig: type: - 'null' - boolean type: object EntitySchemaAppConfigSpec: description: 'Specifies that an app configuration field should reference an entity schema. Kept separate from SchemaAppConfigSpec because it carries a subtype constraint.' properties: __typename: type: string fieldDefinitions: oneOf: - items: $ref: '#/components/schemas/AppConfigFieldDefinition' type: array - type: 'null' requiredConfig: type: - 'null' - boolean subtype: description: 'Optional subtype constraint — if present, the referenced schema must be of this entity type (e.g. DNA_SEQUENCE, AA_SEQUENCE).' enum: - AA_SEQUENCE - CUSTOM_ENTITY - DNA_OLIGO - DNA_SEQUENCE - MIXTURE - MOLECULE - RNA_OLIGO - RNA_SEQUENCE - null type: - 'null' - string type: object AppConfigFieldDefinition: description: 'Defines a field within an app configuration that references schema fields. Specifies the field name, type, whether it accepts multiple values, and whether it is required.' properties: __typename: type: string description: type: - 'null' - string isMulti: description: Whether the field must be multi-valued — null means either true or false is acceptable. type: - 'null' - boolean isRequired: description: Whether the field must be required — null means either true or false is acceptable. type: - 'null' - boolean name: type: string requiredConfig: type: - 'null' - boolean type: description: Type constraint for the field — null means any type is acceptable. enum: - DNA_SEQUENCE_LINK - AA_SEQUENCE_LINK - CUSTOM_ENTITY_LINK - ENTITY_LINK - MIXTURE_LINK - MOLECULE_LINK - DROPDOWN - PART_LINK - AA_PART_LINK - TRANSLATION_LINK - BLOB_LINK - TEXT - LONG_TEXT - BATCH_LINK - STORAGE_LINK - ENTRY_LINK - ASSAY_REQUEST_LINK - ASSAY_RESULT_LINK - ASSAY_RUN_LINK - BOOLEAN - FLOAT - INTEGER - DATETIME - DATE - JSON - null type: - 'null' - string type: object JsonValue: description: A type that represents JSON values. properties: __typename: type: string value: description: The JSON value. type: object type: object TextAndUrlValue: description: A type that represents text (string) values with an associated URL. properties: __typename: type: string url: description: The URL associated with the value. Please use `TextValue` if you don't want a URL. type: string value: description: The text value. It may or may not be an empty string. type: string type: object SchemaAppConfigSpec: description: 'Specifies that an app configuration field should reference one of the schema types that share a common structure: container_schema, plate_schema, location_schema, box_schema, run_schema, result_schema, legacy_request_schema, or entry_schema. The type field identifies which schema kind is required. For entity_schema use EntitySchemaAppConfigSpec; for workflow_task_schema use WorkflowTaskSchemaAppConfigSpec.' properties: __typename: type: string fieldDefinitions: oneOf: - items: $ref: '#/components/schemas/AppConfigFieldDefinition' type: array - type: 'null' requiredConfig: type: - 'null' - boolean type: enum: - BOX_SCHEMA - CONTAINER_SCHEMA - ENTRY_SCHEMA - LEGACY_REQUEST_SCHEMA - LOCATION_SCHEMA - PLATE_SCHEMA - RESULT_SCHEMA - RUN_SCHEMA - WORKFLOW_TASK_SCHEMA - AA_SEQUENCE - ASSAY_RESULT - ASSAY_RUN - AUTOMATION_INPUT_GENERATOR - AUTOMATION_OUTPUT_PROCESSOR - BLOB - BOX - CONTAINER - CUSTOM_ENTITY - DNA_ALIGNMENT - DNA_OLIGO - DNA_SEQUENCE - DROPDOWN - DROPDOWN_OPTION - ENTRY - FIELD - FOLDER - LEGACY_REQUEST - LOCATION - MIXTURE - MOLECULE - PLATE - PROJECT - REGISTRY - RNA_OLIGO - RNA_SEQUENCE - WORKFLOW_TASK_STATUS - WORKLIST - null type: - 'null' - string type: object WebhookEnvelopeBaseV0: description: Fields common to every webhook request body. The event itself is carried in the `message` property of the event-specific payload. properties: app: $ref: '#/components/schemas/WebhookApp' appDefinition: $ref: '#/components/schemas/WebhookAppDefinition' baseURL: description: Base URL of the tenant the webhook was sent from. examples: - https://mytenant.benchling.com type: string tenantId: description: Global ID of the tenant the webhook was sent from. examples: - ten_7fbo183 type: string version: description: Version of the webhook envelope shape. Always `0`. enum: - '0' type: string required: - version - baseURL - tenantId - app - appDefinition type: object TranslationInput: additionalProperties: false properties: color: description: 'Field will be set to #84B0DC if not specified.' type: string customFields: items: $ref: '#/components/schemas/CustomFieldInput' type: array geneticCode: description: Field will be set to STANDARD if not specified. enum: - STANDARD - VERTEBRATE_MITOCHONDRIAL - YEAST_MITOCHONDRIAL - MOLD_PROTOZOAN_COELENTERATE_MITOCHONDRIAL_MYCOPLASMA_SPIROPLASMA - INVERTEBRATE_MITOCHONDRIAL - CILIATE_DASYCLADACEAN_HEXAMITA_NUCLEAR - ECHINODERM_FLATWORM_MITOCHONDRIAL - EUPLOTID_NUCLEAR - BACTERIAL_ARCHAEAL_PLANT_PLASTID - ALTERNATIVE_YEAST_NUCLEAR - ASCIDIAN_MITOCHONDRIAL - ALTERNATIVE_FLATWORM_MITOCHONDRIAL - CHLOROPHYCEAN_MITOCHONDRIAL - TREMATODE_MITOCHONDRIAL - SCENEDESMUS_OBLIQUUS_MITOCHONDRIAL - THRAUSTOCHYTRIUM_MITOCHONDRIAL - RHABDOPLEURIDAE_MITOCHONDRIAL - CANDIDATE_DIVISION_SR1_GRACILIBACTERIA - PACHYSOLEN_TANNOPHILUS_NUCLEAR - KARYORELICT_NUCLEAR - CONDYLOSTOMA_NUCLEAR - MESODINIUM_NUCLEAR - PERITRICH_NUCLEAR - BLASTOCRITHIDIA_NUCLEAR - CEPHALODISCIDAE_MITOCHONDRIAL_UAA_TYR type: string name: type: string notes: type: string regions: items: $ref: '#/components/schemas/TranslationRegionInput' type: array strand: enum: - FORWARD - REVERSE type: string translateFirstCodonToMethionine: description: Field will be set to False if not specified. type: boolean required: - regions - strand type: object RegionsListItem: description: 'Represents a contiguous position range within a Translation or other multi-region feature. For spliced genes or complex reading frames, a Translation may span multiple non-contiguous regions (exons) that are joined during translation. Each RegionsListItem defines one such segment using 0-based coordinates (start inclusive, end exclusive). For circular sequences, regions can wrap around, but the end value is always the sequence length rather than 0.' properties: __typename: type: string end: description: '0-based exclusive end index. For ranges ending at the end of a circular sequence, this value is always the length of the sequence, never 0.' type: integer start: description: 0-based inclusive start index. type: integer type: object JsonAppConfigSpec: description: Specifies that an app configuration field should accept a JSON value. properties: __typename: type: string requiredConfig: type: - 'null' - boolean type: object AnyType: {} CanvasFeatureSpec: description: 'Defines a canvas feature for a Benchling App, which provides an embedded UI surface within entries or templates. Canvases allow apps to render custom interactive content.' properties: __typename: type: string featureId: type: string locations: oneOf: - items: enum: - ENTRY - ENTRY_TEMPLATE - APP_HOME type: string type: array - type: 'null' name: type: string type: object TranslationRegionInput: additionalProperties: false properties: end: type: integer start: type: integer required: - end - start type: object ObjectLinkValue: description: A type that represents links to other objects. properties: __typename: type: string value: $ref: '#/components/schemas/ObjectRef' description: The object that this value links to, or an Inaccessible object if not found with the current permission set. type: object V3UpdateEventBase: allOf: - $ref: '#/components/schemas/V3EventBase' - properties: properties: description: Names of the properties that changed. examples: - - name - folderId items: type: string type: array required: - properties type: object description: Fields common to every v3 update event message. InternalServerError: properties: detail: type: - 'null' - string - object errorId: type: string instance: type: string status: type: integer title: type: - 'null' - string type: type: string required: - type - title - detail - status - instance type: object DecimalValue: description: A type that represents decimal value as strings. properties: __typename: type: string numericValue: deprecated: true description: Deprecated. The float representation of the decimal value. type: - 'null' - number value: description: The decimal value in a string representation type: - 'null' - string type: object EntitySchemaRef: properties: __typename: type: string id: format: api_id type: string type: object BooleanAppConfigSpec: description: Specifies that an app configuration field should accept a boolean value. properties: __typename: type: string requiredConfig: type: - 'null' - boolean type: object PrincipalRef: properties: __typename: type: string id: format: api_id type: string type: object TextAppConfigSpec: description: Specifies that an app configuration field should accept a text string. properties: __typename: type: string enum: description: Optional enum constraint — if present, the value must be one of these strings. oneOf: - items: type: string type: array - type: 'null' requiredConfig: type: - 'null' - boolean type: object PrimerStartEndInput: additionalProperties: false properties: end: type: integer locationType: enum: - start_and_end type: string start: type: integer required: - locationType - end - start type: object LocationInput: allOf: - properties: locationType: enum: - bind_and_overhang - start_and_end type: string required: - locationType - oneOf: - $ref: '#/components/schemas/PrimerBindPositionInput' - $ref: '#/components/schemas/PrimerStartEndInput' discriminator: propertyName: locationType type: object RegistryRef: properties: __typename: type: string id: format: api_id type: string type: object NucleotidePartInput: additionalProperties: false properties: end: type: integer reverseComplement: description: Field will be set to false if not specified. type: boolean sequenceId: type: string start: type: integer required: - end - sequenceId - start type: object SchemaFieldDefinitionRef: properties: __typename: type: string id: format: api_id type: string type: object ObjectLinkListValue: description: A type that represents a list of links to other objects. properties: __typename: type: string value: description: The list of objects that this value links to. Inaccessible objects may be returned instead if the object is not found with the current permission set. items: $ref: '#/components/schemas/ObjectRef' description: Union of AaSequence, Box, Container, CustomEntity, DnaSequence, DropdownOption, Entry, Location, Mixture, Molecule, Plate, Result, RnaSequence, Run, DnaOligo, RnaOligo type: array type: object PrimerInput: additionalProperties: false properties: location: $ref: '#/components/schemas/LocationInput' oligoId: type: string strand: enum: - FORWARD - REVERSE type: string required: - oligoId - strand - location type: object UpdateDnaSequenceInputWithPathParams: additionalProperties: false properties: aliases: items: type: string type: array annotations: description: 'Annotations on the DNA sequence, not including translations or primers. Annotations on parts are not included.' items: $ref: '#/components/schemas/NucleotideAnnotationInput' type: array archiveReason: type: string archived: type: boolean authorIds: items: type: string type: array bases: description: Bases of the forward strand of the DNA sequence. type: string customFields: additionalProperties: $ref: '#/components/schemas/FieldValueInput' type: object entityRegistryId: type: string folderId: type: string id: type: string isCircular: description: Field will be set to false if not specified. type: boolean name: type: string namingStrategy: enum: - NEW_IDS - IDS_FROM_NAMES - DELETE_NAMES - SET_FROM_NAME_PARTS - REPLACE_NAMES_FROM_PARTS - KEEP_NAMES - REPLACE_ID_AND_NAME_FROM_PARTS type: string parts: description: Part features on the DNA sequence. items: $ref: '#/components/schemas/NucleotidePartInput' type: array primers: description: Primer bind features on the DNA sequence. Primers on parts are not included. items: $ref: '#/components/schemas/PrimerInput' type: array registryId: type: - 'null' - string schemaFields: additionalProperties: $ref: '#/components/schemas/FieldValueInput' type: object schemaId: type: string translations: description: 'Translation annotations present on the DNA sequence. Translations may be one region or split across multiple regions. Translations on parts are not included.' items: $ref: '#/components/schemas/TranslationInput' type: array required: - id type: object LegacyAppInstallation: description: 'Represents a legacy (pre-App Store) Benchling App installation on a tenant. Legacy apps are configured directly with webhook URLs and configuration specs rather than through app definition versions. This type is maintained for backward compatibility with older app integrations. For new apps, see `AppInstallation`.' properties: __typename: type: string archiveReason: type: - 'null' - string archived: type: boolean configurationSpecs: items: $ref: '#/components/schemas/AppConfigOption' type: array configurationValues: format: uri type: string createdAt: format: datetime type: - 'null' - string creator: oneOf: - $ref: '#/components/schemas/PrincipalRef' - type: 'null' description: type: - 'null' - string featureSpecs: items: anyOf: - $ref: '#/components/schemas/CanvasFeatureSpec' - $ref: '#/components/schemas/AssayRunFeatureSpec' - $ref: '#/components/schemas/AppHomepageFeatureSpec' description: Union of CanvasFeatureSpec, AssayRunFeatureSpec, AppHomepageFeatureSpec discriminator: propertyName: __typename type: array featureValues: items: $ref: '#/components/schemas/AssayRunFeatureValue' type: array id: type: string messageSubscriptions: items: $ref: '#/components/schemas/AppMessageSubscription' type: array modifiedAt: format: datetime type: - 'null' - string name: type: string publicKey: type: - 'null' - string versionNumber: type: - 'null' - string webhookUrl: type: - 'null' - string type: object UpdateDnaSequenceInput: additionalProperties: false properties: aliases: items: type: string type: array annotations: description: 'Annotations on the DNA sequence, not including translations or primers. Annotations on parts are not included.' items: $ref: '#/components/schemas/NucleotideAnnotationInput' type: array archiveReason: type: string archived: type: boolean authorIds: items: type: string type: array bases: description: Bases of the forward strand of the DNA sequence. type: string customFields: additionalProperties: $ref: '#/components/schemas/FieldValueInput' type: object entityRegistryId: type: string folderId: type: string isCircular: description: Field will be set to false if not specified. type: boolean name: type: string namingStrategy: enum: - NEW_IDS - IDS_FROM_NAMES - DELETE_NAMES - SET_FROM_NAME_PARTS - REPLACE_NAMES_FROM_PARTS - KEEP_NAMES - REPLACE_ID_AND_NAME_FROM_PARTS type: string parts: description: Part features on the DNA sequence. items: $ref: '#/components/schemas/NucleotidePartInput' type: array primers: description: Primer bind features on the DNA sequence. Primers on parts are not included. items: $ref: '#/components/schemas/PrimerInput' type: array registryId: type: - 'null' - string schemaFields: additionalProperties: $ref: '#/components/schemas/FieldValueInput' type: object schemaId: type: string translations: description: 'Translation annotations present on the DNA sequence. Translations may be one region or split across multiple regions. Translations on parts are not included.' items: $ref: '#/components/schemas/TranslationInput' type: array type: object DateAppConfigSpec: description: Specifies that an app configuration field should accept a date value. properties: __typename: type: string requiredConfig: type: - 'null' - boolean type: object DnaSequenceRef: properties: __typename: type: string id: format: api_id type: string type: object AppMessageSubscription: description: 'Represents an app''s subscription to a specific event type, specifying the event type and how notifications should be delivered (see `DeliveryMethod`).' properties: __typename: type: string deliveryMethod: enum: - WEBHOOK - WEBHOOK_INTERNAL type: string type: enum: - V2_BETA_CANVAS_CREATED - V2_CANVAS_CREATED - V2_CANVAS_USER_INTERACTED - V2_CANVAS_INITIALIZED - V2_APP_ACTIVATE_REQUESTED - V2_APP_DEACTIVATED - V2_APP_INSTALLED - V2_BETA_APP_CONFIGURATION_UPDATED - V2_ASSAY_RUN_CREATED - V2_ASSAY_RUN_UPDATED_FIELDS - V2_ENTITY_REGISTERED - V2_ENTRY_CREATED - V2_ENTRY_UPDATED_FIELDS - V2_ENTRY_UPDATED_REVIEW_RECORD - V2_REQUEST_CREATED - V2_REQUEST_UPDATED_FIELDS - V2_REQUEST_UPDATED_STATUS - V2_WORKFLOW_TASK_GROUP_CREATED - V2_WORKFLOW_TASK_GROUP_MAPPING_COMPLETED - V2_WORKFLOW_TASK_GROUP_UPDATED_WATCHERS - V2_WORKFLOW_TASK_CREATED - V2_WORKFLOW_TASK_UPDATED_ASSIGNEE - V2_WORKFLOW_TASK_UPDATED_SCHEDULED_ON - V2_WORKFLOW_TASK_UPDATED_STATUS - V2_WORKFLOW_TASK_UPDATED_FIELDS - V2_WORKFLOW_OUTPUT_CREATED - V2_WORKFLOW_OUTPUT_UPDATED_FIELDS - V2_AUTOMATION_FILE_TRANSFORM_UPDATED_STATUS_RUNNING - V2_AUTOMATION_FILE_TRANSFORM_UPDATED_STATUS_PENDING - V2_AUTOMATION_FILE_TRANSFORM_UPDATED_STATUS_SUCCEEDED - V2_AUTOMATION_FILE_TRANSFORM_UPDATED_STATUS_FAILED - V3_CUSTOM_ENTITY_CREATED - V3_CUSTOM_ENTITY_UPDATED - V3_DNA_OLIGO_CREATED - V3_DNA_OLIGO_UPDATED - V3_DNA_SEQUENCE_CREATED - V3_DNA_SEQUENCE_UPDATED - V3_ENTRY_CREATED - V3_PROJECT_CREATED - V3_PROJECT_UPDATED - V3_RNA_OLIGO_CREATED - V3_RNA_OLIGO_UPDATED - V3_RNA_SEQUENCE_CREATED - V3_RNA_SEQUENCE_UPDATED - V3_RUN_CREATED type: string type: object DateValue: description: A type that represents date values. properties: __typename: type: string value: description: The date value. format: date type: string type: object DropdownAppConfigSpec: description: Specifies that an app configuration field should be a dropdown with predefined options. properties: __typename: type: string options: oneOf: - items: $ref: '#/components/schemas/AppConfigDropdownOption' type: array - type: 'null' requiredConfig: type: - 'null' - boolean type: object ArrayAppConfigSpec: description: Specifies that an app configuration field should accept an array of values. properties: __typename: type: string elementDefinition: description: Defines the named config options allowed within this array and their type constraints. items: $ref: '#/components/schemas/ArrayAppConfigOption' type: array maxElements: description: Maximum number of elements allowed in the array (1-500); null means no maximum. type: - 'null' - integer minElements: description: Minimum number of elements allowed in the array (0-500); null means no minimum. type: - 'null' - integer requiredConfig: type: - 'null' - boolean type: object BooleanValue: description: A type that represents boolean values. properties: __typename: type: string value: description: The boolean value. type: boolean type: object PrincipalUnpaginatedList: additionalProperties: false properties: items: items: $ref: '#/components/schemas/Principal' type: array type: object DnaSequenceCreatedWebhookV3: allOf: - $ref: '#/components/schemas/V3EventBase' - properties: type: description: The event type. enum: - v3.dnaSequence.created type: string required: - type type: object description: Message body of a `v3.dnaSequence.created` event. AssayRunFeatureSpec: description: 'Defines an assay run feature for a Benchling App, allowing the app to process or generate lab automation run data.' properties: __typename: type: string featureId: type: string name: type: string type: object DnaPart: description: 'Represents a region on a DNA sequence that matches or is derived from another registered DNA sequence. DnaPart features enable tracking the provenance of sequence regions, such as identifying that a particular gene in a construct originates from a specific source sequence. Each part specifies the referenced DnaSequence, the strand orientation (forward or reverse), and the position range using 0-based coordinates with an exclusive end index. Parts appear as visual features on the sequence viewer and support traceability from assembled constructs back to their component sequences.' properties: __typename: type: string containerSequence: $ref: '#/components/schemas/DnaSequenceRef' description: The DNA sequence that contains this part. end: description: '0-based exclusive end index. For ranges ending at the end of a circular sequence, this value is always the length of the sequence, never 0.' type: integer id: description: The ID of the DNA Part. type: string sequence: $ref: '#/components/schemas/DnaSequenceRef' description: DNA sequence this part refers to. start: description: 0-based inclusive start index. type: integer strand: description: Strand for this part; 1 for forward strand, -1 for reverse strand. type: integer type: object AppHomepageFeatureSpec: description: 'Defines a homepage feature for a Benchling App, providing a dedicated landing page within the Benchling application for the app''s functionality.' properties: __typename: type: string featureId: type: string name: type: string type: object Principal: anyOf: - $ref: '#/components/schemas/AppInstallation' - $ref: '#/components/schemas/LegacyAppInstallation' - $ref: '#/components/schemas/ServicePrincipal' - $ref: '#/components/schemas/User' discriminator: propertyName: __typename type: object BulkImport: example: fileId: scrfile_jdf8BV24kLmN properties: fileId: description: The API ID of the scratch file (`scrfile_XXXXXXXX`) containing the items to import. The referenced file must be a scratch file whose upload has completed successfully. type: string required: - fileId type: object DocumentLikeRef: properties: __typename: type: string id: format: api_id type: string type: object AssayRunFeatureValue: description: 'Links an app''s assay run feature to a specific resource (typically a run schema) on a tenant. The featureId identifies the feature from the app definition, and resourceId references the tenant-specific resource it''s bound to.' properties: __typename: type: string featureId: description: Developer-specified feature ID as defined in the app manifest / app definition version type: string resourceId: type: - 'null' - string type: object NucleotideAnnotation: description: 'Represents a biological feature annotation on a nucleotide sequence (DNA or RNA). Annotations mark regions of interest such as genes, promoters, terminators, regulatory elements, or other functionally significant sequences. Each annotation specifies a position range (start/end), strand orientation, feature type classification, display color, and descriptive notes. Annotations appear as visual overlays on the sequence viewer and can be created manually, imported from standard formats like GenBank, or generated automatically using FeatureLibraries.' properties: __typename: type: string color: description: Hex color when displaying the annotation. type: string end: description: '0-based exclusive end index. For ranges ending at the end of a circular sequence, this value is always the length of the sequence, never 0.' type: integer name: description: Name of the annotation. type: string notes: description: Text notes on the annotation. type: string start: description: 0-based inclusive start index. type: integer strand: description: Strand for this annotation; 1 for forward strand, -1 for reverse strand, and 0 for no strand. type: integer type: description: Feature type of the annotation. type: - 'null' - string type: object ArrayAppConfigOption: description: 'A config option nested within an array-type app configuration field. Structurally identical to AppConfigOption — it has a name and a configSpec — but its configSpec accepts the same config types as the top level except nested arrays (see ArrayAppConfigElementSpec).' properties: __typename: type: string configSpec: anyOf: - $ref: '#/components/schemas/BooleanAppConfigSpec' - $ref: '#/components/schemas/IntegerAppConfigSpec' - $ref: '#/components/schemas/FloatAppConfigSpec' - $ref: '#/components/schemas/TextAppConfigSpec' - $ref: '#/components/schemas/SecureTextAppConfigSpec' - $ref: '#/components/schemas/DateAppConfigSpec' - $ref: '#/components/schemas/DateTimeAppConfigSpec' - $ref: '#/components/schemas/JsonAppConfigSpec' - $ref: '#/components/schemas/DropdownAppConfigSpec' - $ref: '#/components/schemas/EntitySchemaAppConfigSpec' - $ref: '#/components/schemas/WorkflowTaskSchemaAppConfigSpec' - $ref: '#/components/schemas/SchemaAppConfigSpec' - $ref: '#/components/schemas/ResourceAppConfigSpec' description: Union of BooleanAppConfigSpec, IntegerAppConfigSpec, FloatAppConfigSpec, TextAppConfigSpec, SecureTextAppConfigSpec, DateAppConfigSpec, DateTimeAppConfigSpec, JsonAppConfigSpec, DropdownAppConfigSpec, EntitySchemaAppConfigSpec, WorkflowTaskSchemaAppConfigSpec, SchemaAppConfigSpec, ResourceAppConfigSpec discriminator: propertyName: __typename description: type: - 'null' - string name: type: string type: object IntegerValue: description: A type that represents integer values. properties: __typename: type: string value: description: The integer value. type: integer type: object GeneralError: properties: detail: type: - 'null' - string - object instance: type: string status: type: integer title: type: - 'null' - string type: type: string required: - type - title - detail - status - instance type: object ServicePrincipal: description: 'Represents a non-human identity used for system integrations and automated processes within Benchling. Service principals act as the identity for service accounts that perform actions via APIs or background processes without human intervention. Unlike `User`, which represents a human user, ServicePrincipal is used when an integration or automated system needs to be attributed as the actor for auditing and attribution purposes. Service principals implement the Principal interface, allowing them to appear as creators or actors on domain objects. Also known as "service account" in some contexts.' properties: __typename: type: string id: type: string modifiedAt: format: datetime type: - 'null' - string name: type: - 'null' - string type: object FieldValueInput: additionalProperties: false properties: value: $ref: '#/components/schemas/AnyType' required: - value type: object DnaSequenceUpdatedWebhookEnvelopeV3: allOf: - $ref: '#/components/schemas/WebhookEnvelopeBaseV0' - properties: message: $ref: '#/components/schemas/DnaSequenceUpdatedWebhookV3' required: - message type: object description: Request body Benchling sends for a `v3.dnaSequence.updated` event. DnaPartUnpaginatedList: additionalProperties: false properties: items: items: $ref: '#/components/schemas/DnaPart' type: array type: object RnaSequenceRef: properties: __typename: type: string id: format: api_id type: string type: object IDnaSequence: properties: __typename: type: string aliases: oneOf: - items: type: string type: array - type: 'null' annotations: description: 'Annotations on the DNA sequence, not including translations or primers. Annotations on parts are not included.' items: $ref: '#/components/schemas/NucleotideAnnotation' type: array archiveReason: type: - 'null' - string archived: type: boolean bases: description: Bases of the forward strand of the DNA sequence. type: string createdAt: format: datetime type: - 'null' - string customFields: oneOf: - items: $ref: '#/components/schemas/CustomField' type: array - type: 'null' entityRegistryId: type: - 'null' - string folder: oneOf: - $ref: '#/components/schemas/FolderRef' - type: 'null' id: type: string isCircular: description: Whether the DNA sequence is circular or linear. type: boolean modifiedAt: format: datetime type: - 'null' - string name: type: string parts: description: Part features on the DNA sequence. format: uri type: string primers: description: Primer bind features on the DNA sequence. Primers on parts are not included. items: $ref: '#/components/schemas/Primer' type: array project: oneOf: - $ref: '#/components/schemas/ProjectRef' - type: 'null' registrationOrigin: oneOf: - $ref: '#/components/schemas/RegistrationOrigin' - type: 'null' registry: oneOf: - $ref: '#/components/schemas/RegistryRef' - type: 'null' schema: oneOf: - $ref: '#/components/schemas/EntitySchemaRef' - type: 'null' startIndex: description: Starting index for the sequence residues of linear DNA sequences. Implicitly 1 for other sequence types. type: integer transcriptions: description: Transcriptions, derived from schema field data. items: $ref: '#/components/schemas/Transcription' type: array translations: description: 'Translation annotations present on the DNA sequence. Translations may be one region or split across multiple regions. Translations on parts are not included.' items: $ref: '#/components/schemas/Translation' type: array type: object AsyncTaskLink: properties: pollingUri: format: uri type: string taskId: type: string type: object DnaSequencePaginatedList: additionalProperties: false properties: items: items: $ref: '#/components/schemas/DnaSequence' type: array nextToken: type: string type: object ArrayValue: description: A type that represents a list of BenchlingValues, used for multi-value cells (e.g. alias columns). properties: __typename: type: string value: items: anyOf: - $ref: '#/components/schemas/BooleanValue' - $ref: '#/components/schemas/DateTimeValue' - $ref: '#/components/schemas/DateValue' - $ref: '#/components/schemas/DecimalValue' - $ref: '#/components/schemas/IntegerValue' - $ref: '#/components/schemas/JsonValue' - $ref: '#/components/schemas/ObjectLinkValue' - $ref: '#/components/schemas/ObjectLinkListValue' - $ref: '#/components/schemas/TextAndUrlValue' - $ref: '#/components/schemas/TextValue' description: Union of BooleanValue, DateTimeValue, DateValue, DecimalValue, IntegerValue, JsonValue, ObjectLinkValue, ObjectLinkListValue, TextAndUrlValue, TextValue discriminator: propertyName: __typename type: array type: object WebhookAppDefinition: description: The app definition the receiving app was installed from. properties: id: description: API ID of the app definition. examples: - appdef_1jdbvuo2740aslk type: - 'null' - string versionNumber: description: Version of the app definition the receiving app is installed at. examples: - 0.0.1 type: string required: - id - versionNumber type: object IntegerAppConfigSpec: description: Specifies that an app configuration field should accept an integer value. properties: __typename: type: string enum: description: Optional enum constraint — if present, the value must be one of these integers. oneOf: - items: type: integer type: array - type: 'null' requiredConfig: type: - 'null' - boolean type: object AppConfigOption: description: 'Defines a configuration option in an app''s configuration schema. Each option has a name, optional description, and a configSpec defining the expected value type and validation.' properties: __typename: type: string configSpec: anyOf: - $ref: '#/components/schemas/BooleanAppConfigSpec' - $ref: '#/components/schemas/IntegerAppConfigSpec' - $ref: '#/components/schemas/FloatAppConfigSpec' - $ref: '#/components/schemas/TextAppConfigSpec' - $ref: '#/components/schemas/SecureTextAppConfigSpec' - $ref: '#/components/schemas/DateAppConfigSpec' - $ref: '#/components/schemas/DateTimeAppConfigSpec' - $ref: '#/components/schemas/JsonAppConfigSpec' - $ref: '#/components/schemas/ArrayAppConfigSpec' - $ref: '#/components/schemas/DropdownAppConfigSpec' - $ref: '#/components/schemas/EntitySchemaAppConfigSpec' - $ref: '#/components/schemas/WorkflowTaskSchemaAppConfigSpec' - $ref: '#/components/schemas/SchemaAppConfigSpec' - $ref: '#/components/schemas/ResourceAppConfigSpec' description: Union of BooleanAppConfigSpec, IntegerAppConfigSpec, FloatAppConfigSpec, TextAppConfigSpec, SecureTextAppConfigSpec, DateAppConfigSpec, DateTimeAppConfigSpec, JsonAppConfigSpec, ArrayAppConfigSpec, DropdownAppConfigSpec, EntitySchemaAppConfigSpec, WorkflowTaskSchemaAppConfigSpec, SchemaAppConfigSpec, ResourceAppConfigSpec discriminator: propertyName: __typename description: type: - 'null' - string name: type: string type: object AppConfigDropdownOption: description: Defines an option within a dropdown-type app configuration field. properties: __typename: type: string description: type: - 'null' - string name: type: string requiredConfig: type: - 'null' - boolean type: object ObjectRef: properties: __typename: type: string id: format: api_id type: string type: object DnaSequenceCreatedWebhookEnvelopeV3: allOf: - $ref: '#/components/schemas/WebhookEnvelopeBaseV0' - properties: message: $ref: '#/components/schemas/DnaSequenceCreatedWebhookV3' required: - message type: object description: Request body Benchling sends for a `v3.dnaSequence.created` event. NucleotideAnnotationInput: additionalProperties: false properties: color: type: string customFields: items: $ref: '#/components/schemas/CustomFieldInput' type: array end: type: integer name: type: string notes: description: Field will be set to an empty string if not specified. type: string start: type: integer strand: enum: - FORWARD - REVERSE - null type: - 'null' - string type: type: string required: - name - end - start type: object TextValue: description: A type that represents text (string) values. properties: __typename: type: string value: description: The text value. It may or may not be an empty string. type: string type: object DateTimeAppConfigSpec: description: Specifies that an app configuration field should accept a datetime value. properties: __typename: type: string requiredConfig: type: - 'null' - boolean type: object V3EventBase: description: Fields common to every v3 event message. properties: createdAt: description: RFC 3339 timestamp of when the event was created. format: date-time type: string deprecated: description: Whether this event type is deprecated. type: boolean id: description: API ID of the event. examples: - evt_1jdbvuo2740aslk type: string resourceId: description: API ID of the resource the event is about. examples: - seq_1jdbvuo2740aslk type: string stability: description: Stability of the resource type the event is about. enum: - stable - beta type: string type: description: The event type. examples: - v3.dnaSequence.created type: string required: - id - type - createdAt - resourceId - stability - deprecated type: object PrimerBindPositionInput: additionalProperties: false properties: bindPosition: type: integer locationType: enum: - bind_and_overhang type: string overhangLength: type: integer required: - locationType - bindPosition - overhangLength type: object SecureTextAppConfigSpec: description: 'Specifies that an app configuration field should accept secure (encrypted) text. Used for sensitive data like API keys or credentials.' properties: __typename: type: string requiredConfig: type: - 'null' - boolean type: object parameters: modifiedAt.gt: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified after the specified time. e.g. > 2017-04-30. in: query name: modifiedAt.gt schema: format: datetime type: string id.anyOf: description: Restricts results to those matching any of the specified IDs. Comma-separated list. explode: false in: query name: id.anyOf schema: items: type: string maxItems: 100 type: array fieldset.anyOf: description: Restricts results to those whose schema implements any of the specified fieldset API IDs (custom schema interfaces). Comma-separated list. explode: false in: query name: fieldset.anyOf schema: items: type: string maxItems: 100 type: array archived.anyOf: description: If true, returns archived items. If false, returns unarchived items. If both true and false, returns archived and unarchived items. Comma-separated list. explode: false in: query name: archived.anyOf schema: items: type: boolean maxItems: 2 type: array createdAt.lte: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created at or before the specified time. e.g. <= 2017-04-30. in: query name: createdAt.lte schema: format: datetime type: string createdAt.gte: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created at or after the specified time. e.g. >= 2017-04-30. in: query name: createdAt.gte schema: format: datetime type: string mentionedIn.anyOf: description: Restricts results to items mentioned in entries matching any of the specified entry IDs. Comma-separated list. explode: false in: query name: mentionedIn.anyOf schema: items: type: string maxItems: 100 type: array createdAt.gt: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created after the specified time. e.g. > 2017-04-30. in: query name: createdAt.gt schema: format: datetime type: string createdAt.lt: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created before the specified time. e.g. < 2017-04-30. in: query name: createdAt.lt schema: format: datetime type: string name.anyOf: description: Restricts results to those that match any of the specified names. Case insensitive. Warning - this filter can be non-performant due to case insensitivity. Ensure only one name filter is used at a time. Comma-separated list. explode: false in: query name: name.anyOf schema: items: type: string maxItems: 100 type: array name.anyOf.caseSensitive: description: Restricts results to those that match any of the specified names. Case sensitive. Ensure only one name filter is used at a time. Comma-separated list. explode: false in: query name: name.anyOf.caseSensitive schema: items: type: string maxItems: 100 type: array omit: description: Comma-separated list of top-level fields to omit from each returned item. Cannot overlap with returning. explode: false in: query name: omit schema: items: type: string type: array modifiedAt.gte: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified at or after the specified time. e.g. >= 2017-04-30. in: query name: modifiedAt.gte schema: format: datetime type: string authors.anyOf: description: Restricts results to those whose author matches any of the specified user or author IDs. Comma-separated list. explode: false in: query name: authors.anyOf schema: items: type: string maxItems: 100 type: array project.eq: description: ID of a project. Restricts results to those in the project. in: query name: project.eq schema: type: string registry.eq: description: ID of a registry. Restricts results to those registered in this registry. Specifying "null" returns unregistered items. in: query name: registry.eq schema: type: string bases.anyOf: description: Restricts results to those whose sequence exactly matches any of the specified DNA base sequences (case-insensitive, accounting for circular and reverse complement). Comma-separated list. explode: false in: query name: bases.anyOf schema: items: type: string maxItems: 100 type: array schema.anyOf: description: Restricts results to those that match any of the specified schema IDs. Use only one `schema` filter arg at a time. Comma-separated list. explode: false in: query name: schema.anyOf schema: items: type: string maxItems: 100 type: array nextToken: description: Token for pagination in: query name: nextToken schema: type: string systemCategory.anyOf: description: Restricts results to those whose schema implements any of the specified system category API IDs (non-exclusive static schema interfaces). Comma-separated list. explode: false in: query name: systemCategory.anyOf schema: items: type: string maxItems: 100 type: array pageSize: description: Number of results to return. Defaults to 50, maximum of 100. in: query name: pageSize schema: type: integer modifiedAt.lte: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified at or before the specified time. e.g. <= 2017-04-30. in: query name: modifiedAt.lte schema: format: datetime type: string modifiedAt.lt: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified before the specified time. e.g. < 2017-04-30. in: query name: modifiedAt.lt schema: format: datetime type: string creator.anyOf: description: Restricts results to those created by any of the specified user IDs. Comma-separated list. explode: false in: query name: creator.anyOf schema: items: type: string maxItems: 100 type: array archiveReason.anyOf: description: Restricts items to those with any of the specified archive reasons. Use "NOT_ARCHIVED" to filter for unarchived items. Use "ANY_ARCHIVED" to filter for archived items regardless of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived. Comma-separated list. explode: false in: query name: archiveReason.anyOf schema: items: type: string maxItems: 10 type: array returning: description: Comma-separated list of top-level fields to include in each returned item. Cannot overlap with omit. explode: false in: query name: returning schema: items: type: string type: array schema.eq: description: Single schema ID. Restricts results to those that match the specified schema exactly. Use only one `schema` filter arg at a time. in: query name: schema.eq schema: type: string responses: TooManyRequests: content: application/problem+json: schema: $ref: '#/components/schemas/GeneralError' description: Too Many Requests BadRequest: content: application/problem+json: schema: $ref: '#/components/schemas/GeneralError' description: Bad Request InternalServerError: content: application/problem+json: schema: $ref: '#/components/schemas/InternalServerError' description: Internal Server Error NotFound: content: application/problem+json: schema: $ref: '#/components/schemas/GeneralError' description: Not Found Forbidden: content: application/problem+json: schema: $ref: '#/components/schemas/GeneralError' description: Forbidden securitySchemes: basicApiKeyAuth: description: Use issued API key for standard access to the API scheme: basic type: http basicClientIdSecretAuth: description: Auth used as part of client credentials OAuth flow prior to receiving a bearer token. scheme: basic type: http oAuth: description: OAuth2 Client Credentials flow intended for service access flows: clientCredentials: scopes: {} tokenUrl: /oauth/token type: oauth2