openapi: 3.2.0 info: license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html title: Benchling Document Part API version: 2.0.0 description: 'Represents an ordered piece of content within an entry, template, subtemplate, or document. Each document part wraps one content block and records its container, version, and audit metadata.' servers: - url: /api/v3 security: - oAuth: [] - basicApiKeyAuth: [] tags: - description: 'Represents an ordered piece of content within an entry, template, subtemplate, or document. Each document part wraps one content block and records its container, version, and audit metadata.' name: DocumentPart x-bnch-organization: Benchling paths: /document-part/items: get: description: List DocumentPart items. operationId: DocumentPart.List parameters: - $ref: '#/components/parameters/id.anyOf' - $ref: '#/components/parameters/modifiedAt.gt' - $ref: '#/components/parameters/modifiedAt.gte' - $ref: '#/components/parameters/modifiedAt.lt' - $ref: '#/components/parameters/modifiedAt.lte' - $ref: '#/components/parameters/nextToken' - $ref: '#/components/parameters/omit' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/returning' - description: 'Method by which to order results. Valid sorts are: 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: - 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/DocumentPartPaginatedList' 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 DocumentPart items tags: - DocumentPart x-bnch-rate-limit-tier: 4 /document-part/{document_part_id}: get: description: Get a single DocumentPart by ID. operationId: DocumentPart.Get parameters: - description: ID of the DocumentPart. in: path name: document_part_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/DocumentPart' 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 DocumentPart by ID tags: - DocumentPart x-bnch-rate-limit-tier: 5 components: schemas: AaAnnotation: description: 'Represents an annotated region on an amino acid sequence (AaSequence). Annotations mark functional domains, binding sites, post-translational modifications, engineered mutations, or other biologically significant features. Each annotation defines a start and end position (0-based, exclusive end), a name, optional type classification, display color, and descriptive notes. Annotations appear as visual overlays on the sequence viewer.' properties: __typename: type: string aaSequence: $ref: '#/components/schemas/AaSequenceRef' description: AA sequence the annotation belongs to. color: description: Hex color when displaying the annotation. type: string end: description: 0-based exclusive end index. type: integer id: description: ID of the annotation. type: string 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 type: description: Feature type of the annotation. type: - 'null' - string type: object 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 DocumentPart: description: 'Represents an ordered piece of content within an entry, template, subtemplate, or document. Each document part wraps one content block and records its container, version, and audit metadata.' properties: __typename: type: string content: description: Union of SectionDocumentContent, TextDocumentContent, ListItemDocumentContent, HeaderDocumentContent, CodeBlockDocumentContent, UnstructuredTableDocumentContentSummary, AttachmentDocumentContent, BenchlingItemDocumentContent, RunDocumentContent, TextBoxDocumentContent oneOf: - anyOf: - $ref: '#/components/schemas/SectionDocumentContent' - $ref: '#/components/schemas/TextDocumentContent' - $ref: '#/components/schemas/ListItemDocumentContent' - $ref: '#/components/schemas/HeaderDocumentContent' - $ref: '#/components/schemas/CodeBlockDocumentContent' - $ref: '#/components/schemas/UnstructuredTableDocumentContentSummary' - $ref: '#/components/schemas/AttachmentDocumentContent' - $ref: '#/components/schemas/BenchlingItemDocumentContent' - $ref: '#/components/schemas/RunDocumentContent' - $ref: '#/components/schemas/TextBoxDocumentContent' discriminator: propertyName: __typename - type: 'null' createdAt: description: 'Timestamp inherited from the document content backing this part. For entry and document content, this can reflect when the containing document was created, not when the DocumentPart identifier was created.' format: datetime type: - 'null' - string id: type: string modifiedAt: format: datetime type: string modifier: oneOf: - $ref: '#/components/schemas/PrincipalRef' - type: 'null' versionId: type: string type: object ProteinFormatChainPosition: description: 'Defines each instance of a polypeptide chain within a `ProteinFormat`, specifying the chain type and its constituent domains. Each chain position has a unique ref identifier and lists the domain positions (see `ProteinFormatDomainPosition`) that compose it in order from N-terminus to C-terminus. For example, a heavy chain position might reference domain positions [VH, CH1, Hinge, CH2, CH3].' properties: __typename: type: string domainPositions: description: A list of all the domain positions that make up the chain position, in order items: $ref: '#/components/schemas/ProteinFormatDomainPosition' type: array ref: description: 'A unique identifier for a physical component (chain or domain) in a protein format. This is used to form a HELM reference that is used in the protein''s complex polymer structure.' type: integer type: description: Type of the chain. enum: - HEAVY - LIGHT - NONE - ALPHA - BETA - JOINING type: string type: object ProteinFormatRef: properties: __typename: type: string id: format: api_id type: string type: object DocumentEmbeddable: anyOf: - $ref: '#/components/schemas/AaSequence' - $ref: '#/components/schemas/CustomEntity' - $ref: '#/components/schemas/DnaSequence' - $ref: '#/components/schemas/Entry' - $ref: '#/components/schemas/OligoConjugate' - $ref: '#/components/schemas/OligoDuplex' - $ref: '#/components/schemas/Protein' - $ref: '#/components/schemas/UnresolvableEmbeddedItem' discriminator: propertyName: __typename type: object ProjectRef: properties: __typename: type: string id: format: api_id type: string 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 ReviewRef: properties: __typename: type: string id: format: api_id type: string 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 EntrySchemaRef: properties: __typename: type: string id: format: api_id type: string type: object RunSchemaRef: properties: __typename: type: string id: format: api_id type: string 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 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 LinkSpan: description: LinkSpan is used when we want to apply a URL to a particular span of the text. properties: __typename: type: string end: description: The index where the link ends (exclusive). type: integer start: description: The index where the link starts (inclusive). type: integer url: type: string type: object AaSequenceRef: properties: __typename: type: string id: format: api_id type: string type: object OligoConjugate: allOf: - $ref: '#/components/schemas/IOligoConjugate' - description: 'An oligo conjugate is a therapeutic modality consisting of a single-stranded oligonucleotide backbone with one or more attached conjugate molecules. Common examples include antisense oligonucleotides (ASOs) with GalNAc ligands for liver targeting, or siRNA strands with lipid or cholesterol conjugates. The backbone references the underlying oligo entity, while conjugates lists the attached molecules. Structure is defined using HELM notation and can be edited via the visual structure editor. Supports versioning (see OligoConjugateVersion) to track changes over time.' properties: __typename: type: string authors: oneOf: - format: uri type: string - type: 'null' creator: $ref: '#/components/schemas/PrincipalRef' 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 OligoRef: properties: __typename: type: string id: format: api_id type: string type: object CustomEntity: allOf: - $ref: '#/components/schemas/ICustomEntity' - description: 'A flexible, user-defined entity type in Benchling''s Registry. Unlike specialized entity types such as DnaSequence or Molecule, CustomEntities allow organizations to model any kind of scientific or business object using configurable EntitySchemas (see `schema`). CustomEntities support customFields for storing structured data, can be organized into Folders and Projects, and integrate with Benchling''s collaboration, search, and audit systems. They are commonly used to represent cell lines, reagents, instruments, or any domain-specific items that don''t fit predefined entity categories.' 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 Mention: description: 'Represents an inline mention of another Benchling item within text content. Mentions allow users to reference entities (sequences, samples, entries, etc.) directly in their notebook text. The mention appears as a clickable chip displaying the item''s name.' properties: __typename: type: string itemId: description: The API identifier of the referenced Benchling item (e.g., seq_XXXXX, etr_XXXXX). type: string position: description: The position in the raw text where this mention is inserted. This is an index into the parent's `text` field. type: integer 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 ProteinFormatDomainPosition: description: 'Defines a domain position within a1 `ProteinFormat`, specifying the domain type and identity of each physical domain in the protein format. Each domain position has a unique ref identifier used to construct HELM notation for complex polymer structures. Domain positions are grouped into ProteinFormatDomains, and each group can be uniquely identified by its label, and will be a single amino acid sequence entity in proteins of this format.' properties: __typename: type: string optional: description: Whether this domain is optional in the format. If true, entities of this format may not have this domain. type: boolean ref: description: 'A unique identifier for a physical component (chain or domain) in a protein format. This is used to form a HELM reference that is used in the protein''s complex polymer structure.' type: integer type: description: Type of the domain enum: - VL - CL - VH - VHH - CH1 - CH2 - CH3 - CH4 - J - H - L - VA - CA - VB - CB - VG - CG - VD - CD - F - ELEMENT type: string 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 ChemSimplePolymer: description: 'Represents a small molecule within a complex polymer structure. Contains SMILES and molfile representations of the chemical structure, along with connections to other polymers. The entity field links to a corresponding `Molecule`. Commonly used as conjugate payloads attached to oligonucleotide backbones, such as lipid nanoparticles, fluorescent labels, or therapeutic molecules.' properties: __typename: type: string connections: items: $ref: '#/components/schemas/ComplexPolymerConnection' type: array entity: $ref: '#/components/schemas/MoleculeRef' helmReference: type: string molfile: type: string polymerType: type: string smiles: type: string type: object ProteinChain: description: 'Represents a polypeptide chain within an `Protein`, containing the domain composition. Each chain has a computed label derived from the format.' properties: __typename: type: string chainPositions: description: 'Each chain position of this chain in the protein. If a chain has multiplicity > 1, each chain position will be listed here.' items: $ref: '#/components/schemas/ProteinFormatChainPosition' type: array domains: description: Each domain on the chain, ordered according to the format. items: $ref: '#/components/schemas/ProteinDomain' type: array entity: $ref: '#/components/schemas/AaSequenceRef' description: The amino acid sequence entity associated with the chain. label: description: Unique label for the chain, computed from the format. type: string type: description: The type of the chain. enum: - HEAVY - LIGHT - NONE - ALPHA - BETA - JOINING type: string type: object ComplexPolymerStructure: description: 'Contains the complete structural definition of a complex polymer, including all component polymers and their interconnections. This is the core data structure that defines how oligonucleotides, molecules, and peptides are assembled into bioconjugates. The simplePolymers list contains all components, connections defines the bonds between them, and resolvedAttachments provides detailed chemistry for drawn attachments.' properties: __typename: type: string connections: description: A list of all the connections between simple polymers in this complex polymer. items: $ref: '#/components/schemas/ComplexPolymerConnection' type: array resolvedAttachments: description: A list of attachment information, providing a more detailed chemical structure for a set of connections. items: $ref: '#/components/schemas/ComplexPolymerResolvedAttachment' type: array simplePolymers: description: A list of all the simple polymers in this complex polymer. items: anyOf: - $ref: '#/components/schemas/NucleotideSimplePolymer' - $ref: '#/components/schemas/ChemSimplePolymer' - $ref: '#/components/schemas/PeptideSimplePolymer' description: Union of NucleotideSimplePolymer, ChemSimplePolymer, PeptideSimplePolymer discriminator: propertyName: __typename type: array type: object ListItemDocumentContent: description: 'Represents a single list item within notebook or document content. List items store their marker style, rich text, and indentation for ordered, unordered, and checklist blocks.' properties: __typename: type: string formats: items: $ref: '#/components/schemas/TextFormat' type: array indentation: type: integer links: items: $ref: '#/components/schemas/LinkSpan' type: array listType: enum: - BULLET - NUMBER - CHECKBOX_CHECKED - CHECKBOX_UNCHECKED type: string mentions: items: $ref: '#/components/schemas/Mention' type: array text: type: string type: object CodeBlockDocumentContent: description: 'Represents a block of code or preformatted text within notebook or document content. Code blocks preserve the text content for display as a standalone code block.' properties: __typename: type: string text: type: string type: object AaSequence: allOf: - $ref: '#/components/schemas/IAaSequence' - description: 'Represents an amino acid sequence in Benchling''s molecular biology platform. An AaSequence stores the one-letter amino acid code string along with annotations marking functional regions, domains, or other features of interest. `AaSequence`s can be registered in the Registry with a unique entityRegistryId, organized in folders, and linked via schema fields to other entities. The annotations array contains `AaAnnotation` objects for features like signal peptides, binding domains, or engineered mutations. Parts (see `AaPart`) indicate regions matching other registered `AaSequence`s.' 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 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 DocumentLikeVersionMetadata: description: 'Version metadata for a DocumentLike-style entry. Captures the API identifier of a particular version snapshot together with the time that version was produced. Useful for change tracking, history pinning, and consumers that need to detect or reference a specific revision of an entry, template, subtemplate, or stage entry without fetching the full version record.' properties: __typename: type: string createdAt: description: 'DateTime this version was created. Versions are immutable snapshots, so this is the moment the version came into existence — i.e., when the DocumentLike''s content was last edited to produce this version.' format: datetime type: - 'null' - string versionId: description: API ID of this version of the DocumentLike. type: string type: object ComplexPolymerResolvedAttachment: description: 'Detailed information about a group of contiguous connections in a complex polymer. The entire chemical structure of the connection group, and any components inside it, is represented by a molfile. This allows for the representation of any bond chemistry, beyond the simple leaving group style supported by HELM. For example, suppose we have two involved connections, one between a backbone oligo and a linker molecule, and another between the linker molecule and a payload molecule. Then the molfile would represent the entire complex of: - the monomer on the backbone where the linker attaches - the connection between monomer and linker - the linker molecule - the connection between linker and payload - the payload molecule Currently, this structure will only represent attachments that the user draws. However, in the future, this object may also contain leaving group style connections as well.' properties: __typename: type: string connectionsInvolved: items: $ref: '#/components/schemas/ComplexPolymerConnection' type: array molfile: type: string type: object 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 ProteinDomain: description: 'Represents a domain within an `Protein`, containing the actual amino acid sequence for a specific label. Unlike `ProteinFormatDomain` which is a template, `ProteinDomain` is a concrete instance of the domain and links to the underlying amino acid sequence entity.' properties: __typename: type: string domainPositions: description: 'Each domain position of this domain in the protein. If this domain appears multiple times in the physical structure of the protein, each domain position will be listed here.' items: $ref: '#/components/schemas/ProteinFormatDomainPosition' type: array entity: $ref: '#/components/schemas/AaSequenceRef' description: The amino acid sequence entity associated with the domain. label: description: A human-readable label for the domain. type: string type: description: The type of the domain. enum: - VL - CL - VH - VHH - CH1 - CH2 - CH3 - CH4 - J - H - L - VA - CA - VB - CB - VG - CG - VD - CD - F - ELEMENT type: string type: object PrincipalRef: properties: __typename: type: string id: format: api_id type: string type: object ComplexPolymerConnection: description: 'Represents a chemical bond between two polymers within a complex polymer structure. Connections can be covalent bonds (including disulfide bonds) or hydrogen bonds (for base pairing in duplexes). Each connection has source and target ConnectionSide endpoints defining which polymers and residues are bonded. The attachmentStyle indicates whether the connection was drawn graphically or specified via leaving groups.' properties: __typename: type: string attachmentStyle: description: 'The format in which the user has defined the connection (i.e. drawn vs leaving group style). Only applicable to covalent bond type connections.' enum: - LEAVING_GROUP - DRAWN - null type: - 'null' - string connectionType: description: The kind of chemical bond this connection represents. enum: - COVALENT_BOND - HYDROGEN_BOND type: string covalentBondType: description: 'The type of covalent bond represented by the connection (i.e. disulfide bond or not). Only applicable to covalent bond type connections.' enum: - DISULFIDE_BOND - null type: - 'null' - string source: $ref: '#/components/schemas/ConnectionSide' description: '''source'' and ''target'' are interchangeable - connections are bidirectional.' target: $ref: '#/components/schemas/ConnectionSide' type: object IEntry: properties: __typename: type: string applicableReviewProcesses: description: 'The review processes configured for this entry''s project. Use the paginated `/applicable-review-processes/items` sub-resource to retrieve the full list of ReviewProcess objects including their stages and version details.' format: uri type: string archiveReason: type: - 'null' - string archived: type: boolean createdAt: description: DateTime the entry was created at format: datetime type: - 'null' - string customFields: oneOf: - items: $ref: '#/components/schemas/CustomField' type: array - type: 'null' displayId: description: User-friendly ID of the entry type: - 'null' - string folder: description: ID of the folder that contains the entry oneOf: - $ref: '#/components/schemas/FolderRef' - type: 'null' id: description: ID of the entry type: string modifiedAt: description: DateTime the entry was last modified format: datetime type: - 'null' - string name: description: Title of the entry type: - 'null' - string parts: description: The parts of the Entry format: uri type: string review: description: 'The active review for this entry, if one exists. Returns a Review object with status, reviewers, review process, and review history. Null when the entry has not been sent for review or the review has been retracted.' oneOf: - $ref: '#/components/schemas/ReviewRef' - type: 'null' reviewSource: $ref: '#/components/schemas/ProjectRef' description: The project that this entry belongs to, used to determine which review processes apply. schema: description: Entry schema if set oneOf: - $ref: '#/components/schemas/EntrySchemaRef' - type: 'null' sections: description: The sections of the entry oneOf: - items: $ref: '#/components/schemas/EntrySection' type: array - type: 'null' selectors: description: Selectors available to table cells in this entry. items: $ref: '#/components/schemas/TableCellSelector' type: array versionMetadata: $ref: '#/components/schemas/DocumentLikeVersionMetadata' description: Version metadata for the current version of this Entry. type: object RegistryRef: properties: __typename: type: string id: format: api_id type: string type: object IOligoConjugate: description: 'An oligo conjugate is a specific type of complex polymer that consists of a single short DNA/RNA strand with multiple attached molecules (aka conjugates).' properties: __typename: type: string aliases: oneOf: - items: type: string type: array - type: 'null' archiveReason: type: - 'null' - string archived: type: boolean backbone: oneOf: - $ref: '#/components/schemas/NucleotideSimplePolymer' - type: 'null' canonicalHelm: type: string conjugates: oneOf: - items: anyOf: - $ref: '#/components/schemas/NucleotideSimplePolymer' - $ref: '#/components/schemas/ChemSimplePolymer' description: Union of NucleotideSimplePolymer, ChemSimplePolymer discriminator: propertyName: __typename type: array - type: 'null' createdAt: format: datetime type: string customFields: oneOf: - items: $ref: '#/components/schemas/CustomField' type: array - type: 'null' entityAssociations: items: $ref: '#/components/schemas/EntityAssociation' type: array entityRegistryId: type: - 'null' - string folder: oneOf: - $ref: '#/components/schemas/FolderRef' - type: 'null' id: type: string modifiedAt: format: datetime type: string name: type: string originalHelm: type: - 'null' - string outOfSync: type: boolean outOfSyncReason: type: - 'null' - string 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: $ref: '#/components/schemas/EntitySchemaRef' structure: $ref: '#/components/schemas/ComplexPolymerStructure' type: object TableCellSelector: description: A predefined dropdown selector that can be assigned to table cells. properties: __typename: type: string name: type: string options: items: type: string type: array selectorId: description: Identifier for this selector within the container. Matches `TableCell.selectorId`. type: string 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 HeaderDocumentContent: description: 'Represents a heading block within notebook or document content. Headers store the heading level, rich text, and indentation used to organize document sections.' properties: __typename: type: string formats: items: $ref: '#/components/schemas/TextFormat' type: array headerType: enum: - HEADER_1 - HEADER_2 - SUBHEADER_1 type: string indentation: type: integer links: items: $ref: '#/components/schemas/LinkSpan' type: array mentions: items: $ref: '#/components/schemas/Mention' type: array text: type: string type: object UnstructuredTableDocumentContentSummary: description: 'An unstructured (plain) table embedded within a notebook entry. Unlike structured tables, unstructured tables have freeform cells without typed columns. Cells can contain text, formulas with evaluated values, formatting, and merged regions. This is the summary representation and excludes row data. It is returned when retrieving a particular document part (e.g. from the document_part GET endpoint). Unstructured table mutation endpoints are currently in closed LA.' properties: __typename: type: string columnDefinitions: items: $ref: '#/components/schemas/TableColumnDefinition' type: array indentation: type: integer isEvaluated: type: boolean name: type: string rowCount: type: integer type: object NucleotideSequenceRef: properties: __typename: type: string id: format: api_id type: string type: object UnresolvableEmbeddedItem: description: 'An embedded Benchling item that exists in the system but cannot be fetched via the V3 REST API (currently Protocols, Equipment, and Trial Subjects). It has no API endpoint; the `id` is provided for informational purposes only, so that the reference can be preserved (e.g. when a document part is copied between entries).' properties: __typename: type: string id: description: The API identifier of the embedded item. type: string type: object EntityAssociation: description: 'Every entity association maps a Benchling entity to one or more HELM references in the complex polymer. These HELM polymers each have the same chemical structure as the Benchling entity. For example, if a molecule entity maps to two CHEM polymers, it means that the molecule appears twice in the complex polymer.' properties: __typename: type: string entity: $ref: '#/components/schemas/ObjectRef' description: Union of RnaOligo, DnaOligo, RnaSequence, DnaSequence, Molecule, AaSequence polymerRefs: description: HELM polymer references identifying which polymers in the structure correspond to this entity. items: type: string type: array type: object AttachmentDocumentContent: description: 'Represents an external file attachment embedded in notebook or document content. Attachments expose file metadata, a temporary download URL, and indentation within the document.' properties: __typename: type: string customWidth: description: The custom width in pixels, if set, or null. type: - 'null' - integer downloadUrl: description: A presigned URL to download the attachment. type: string downloadUrlExpiresAt: description: When the download URL expires (ISO 8601 datetime). format: datetime type: string externalFileId: description: The external file ID for this attachment (e.g., efl_XXXXX). type: string filename: description: The filename of the attachment. type: string indentation: type: integer size: description: The file size in bytes. type: integer type: object RunRef: properties: __typename: type: string id: format: api_id 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 BooleanValue: description: A type that represents boolean values. properties: __typename: type: string value: description: The boolean value. type: boolean type: object PeptideSimplePolymer: description: 'Represents a peptide or protein chain within a complex polymer structure. Contains the amino acid residue sequence and connections to other polymers. The entity field links to a corresponding `AaSequence`. Used when protein/aa-sequence components are part of larger bioconjugate structures.' properties: __typename: type: string connections: items: $ref: '#/components/schemas/ComplexPolymerConnection' type: array entity: $ref: '#/components/schemas/AaSequenceRef' helmReference: type: string polymerType: type: string residues: type: string type: object ICustomEntity: properties: __typename: type: string aliases: oneOf: - items: type: string type: array - type: 'null' archiveReason: type: - 'null' - string archived: type: boolean 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 modifiedAt: format: datetime type: - 'null' - string name: type: - 'null' - string 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' type: object DocumentLikeRef: properties: __typename: type: string id: format: api_id type: string type: object NucleotideMonomerRef: properties: __typename: type: string id: format: api_id type: string type: object SectionDocumentContent: description: 'Represents a section divider within notebook or document content. Sections can include a title, date, and color to group related document parts.' properties: __typename: type: string color: enum: - DEFAULT - RED - ORANGE - YELLOW - GREEN - BLUE - INDIGO - VIOLET - CONTRAST_GREY - CONTRAST_RED - CONTRAST_ORANGE - CONTRAST_YELLOW - CONTRAST_GREEN - CONTRAST_BLUE - CONTRAST_INDIGO - CONTRAST_VIOLET - null type: - 'null' - string date: format: date type: - 'null' - string title: type: - 'null' - string type: object Entry: allOf: - $ref: '#/components/schemas/IEntry' - description: 'An Entry is the core document type in Benchling''s Electronic Lab Notebook (ELN), used by scientists to record experimental work and observations. Entries are organized into sections (days) containing various content types such as text, tables, file attachments, and structured data tables for results. Entries support rich collaboration features including authorship tracking, review workflows (see `Review` and `ReviewProcess`), access control through Projects and Folders, and can be linked to Studies. Entries may optionally conform to an `EntrySchema` that defines custom fields. They can be created from scratch or from an `EntryTemplate` to ensure consistent structure. Entry mutation endpoints are currently in closed LA.' properties: __typename: type: string authors: description: 'Array of User Resources of the authors of the entry. This defaults to the creator but can be manually changed.' oneOf: - format: uri type: string - type: 'null' creator: description: User Resource of the user who created the entry oneOf: - $ref: '#/components/schemas/PrincipalRef' - type: 'null' schemaFields: oneOf: - items: $ref: '#/components/schemas/SchemaFieldValue' type: array - type: 'null' 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 TableColumnDefinition: description: A column definition within a table, specifying the label and optional width. properties: __typename: type: string isLocked: type: boolean name: type: string width: description: Column width in pixels. Default is 100. type: - 'null' - number 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 DocumentPartPaginatedList: additionalProperties: false properties: items: items: $ref: '#/components/schemas/DocumentPart' type: array nextToken: type: string type: object OligoDuplex: allOf: - $ref: '#/components/schemas/IOligoDuplex' - description: 'An oligo duplex is a therapeutic modality consisting of two complementary oligonucleotide strands (forward and reverse) with optional conjugate molecules attached to either strand. The classic example is siRNA (small interfering RNA), which uses double-stranded RNA for gene silencing. The forwardStrand and reverseStrand reference the underlying oligo entities, with hydrogen bonds automatically computed for base pairing. Structure is defined using HELM notation and can be edited via the visual structure editor. Supports versioning (see OligoDuplexVersion) to track changes over time.' properties: __typename: type: string authors: oneOf: - format: uri type: string - type: 'null' creator: $ref: '#/components/schemas/PrincipalRef' schemaFields: oneOf: - items: $ref: '#/components/schemas/SchemaFieldValue' type: array - type: 'null' type: object Protein: allOf: - $ref: '#/components/schemas/IProtein' - description: 'A Protein is a complex biomolecule entity in Benchling representing immunoglobulins or related therapeutic proteins like T-cell receptors. Proteins are defined by an `ProteinFormat` that specifies their structural organization, with actual sequences provided in domains (see `ProteinDomain`) and chains (see `ProteinChain`). Proteins support versioning through history/fullHistory, allowing tracking of structural changes over time. As registry entities, proteins can have schemas with custom fields, belong to projects and folders, and be linked to studies.' properties: __typename: type: string authors: oneOf: - format: uri type: string - type: 'null' creator: $ref: '#/components/schemas/PrincipalRef' schemaFields: oneOf: - items: $ref: '#/components/schemas/SchemaFieldValue' type: array - type: 'null' 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 IProtein: properties: __typename: type: string aliases: oneOf: - items: type: string type: array - type: 'null' archiveReason: type: - 'null' - string archived: type: boolean chains: description: The chains and associated amino acid sequences on the protein. items: $ref: '#/components/schemas/ProteinChain' type: array createdAt: format: datetime type: string customFields: oneOf: - items: $ref: '#/components/schemas/CustomField' type: array - type: 'null' domains: description: The domains and associated amino acid sequences on the protein. items: $ref: '#/components/schemas/ProteinDomain' type: array entityRegistryId: type: - 'null' - string folder: oneOf: - $ref: '#/components/schemas/FolderRef' - type: 'null' format: $ref: '#/components/schemas/ProteinFormatRef' description: The protein format that defines the structure (domains, chains, interactions) for the protein. fullHistory: description: '`fullHistory` is a superset of `history` that also returns inactive versions that are not part of the current version history. Versions are returned in chronological order (oldest first).' format: uri type: string history: description: 'Only the currently active version lineage, in chronological order (oldest first). If a change was made and then undone by resetting to an earlier version, the version recording that change is not relevant to the current state of the entity, so it is not included in this listing.' format: uri type: string id: type: string modifiedAt: format: datetime type: string name: type: string outOfSync: description: Indicates if constituent domain or chain entities have changed since the protein was last updated. type: boolean outOfSyncReason: description: Any additional information about why the protein is out of sync. type: - 'null' - string 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: $ref: '#/components/schemas/EntitySchemaRef' type: object EntryContent: description: 'Represents a single content item within an EntrySection. The `type` field indicates what kind of content this is (see `ContentType`). This provides a simplified view of entry content categorization.' properties: __typename: type: string type: enum: - TEXT - LIST_ITEM - HEADER - CODE_BLOCK - UNSTRUCTURED_TABLE - PLACEHOLDER - EXTERNAL_FILE - ASSAY_RUN - STRUCTURED_TABLE - OTHER - null type: - 'null' - string type: object IAaSequence: properties: __typename: type: string aliases: description: Array of aliases oneOf: - items: type: string type: array - type: 'null' aminoAcids: description: Amino acids of the AA sequence. type: string annotations: description: Array of annotation objects on the AA sequence. items: $ref: '#/components/schemas/AaAnnotation' type: array archiveReason: type: - 'null' - string archived: type: boolean createdAt: description: DateTime the AA sequence was created. format: datetime type: - 'null' - string customFields: description: Custom fields set on the AA sequence. oneOf: - items: $ref: '#/components/schemas/CustomField' type: array - type: 'null' entityRegistryId: description: Registry ID of the AA sequence if registered. type: - 'null' - string folder: description: ID of the folder that contains the AA sequence. oneOf: - $ref: '#/components/schemas/FolderRef' - type: 'null' id: description: ID of the AA sequence. type: string modifiedAt: description: DateTime the AA sequence was last modified. format: datetime type: - 'null' - string name: description: Name of the AA sequence. type: string project: oneOf: - $ref: '#/components/schemas/ProjectRef' - type: 'null' registrationOrigin: oneOf: - $ref: '#/components/schemas/RegistrationOrigin' - type: 'null' registry: description: Registry the AA sequence is registered in. oneOf: - $ref: '#/components/schemas/RegistryRef' - type: 'null' schema: oneOf: - $ref: '#/components/schemas/EntitySchemaRef' - type: 'null' type: object NucleotideSimplePolymer: description: 'Represents a nucleic acid strand (DNA or RNA) within a complex polymer structure. Contains the sequence residues, any chemical modifications (see ModifiedNucleotide), and connections to other polymers. The entity field links to a corresponding DnaSequence, RnaSequence, DnaOligo, or RnaOligo. Used as the backbone component in OligoConjugate and as forward/reverse strands in OligoDuplex.' properties: __typename: type: string connections: items: $ref: '#/components/schemas/ComplexPolymerConnection' type: array entity: $ref: '#/components/schemas/NucleotideSequenceRef' helmReference: type: string modifications: description: Chemical modifications applied at specific positions on this strand. items: $ref: '#/components/schemas/ModifiedNucleotide' type: array nucleotideType: description: Whether this strand is DNA or RNA. enum: - DNA - RNA type: string polymerType: type: string residues: description: The nucleotide base sequence of this strand. type: string type: object BenchlingItemDocumentContent: description: Represents a Benchling item embedded in notebook or document content, identifying the referenced Benchling object. properties: __typename: type: string embeddedItem: description: 'The embedded item, resolved to its concrete `DocumentEmbeddable` type (e.g. `DnaSequence`, `CustomEntity`, `Protein`, `OligoConjugate`, `OligoDuplex`). Items that cannot be fetched via the V3 REST API (currently Protocols, Equipment, and Trial Subjects) resolve to `UnresolvableEmbeddedItem`, which exposes only the item''s id.' oneOf: - $ref: '#/components/schemas/DocumentEmbeddable' - type: 'null' indentation: type: integer 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 TextDocumentContent: description: 'Represents a paragraph of formatted text content within a notebook entry or document. TextDocumentContent is the primary way to store narrative text in the electronic lab notebook. The text can include rich formatting (see `TextFormat` for bold, italic, etc.), hyperlinks (see `LinkSpan`), and inline mentions of other Benchling items (see `Mention`). Multiple `TextDocumentContent` blocks form the body of a notebook entry between section headers and other structured content.' properties: __typename: type: string formats: items: $ref: '#/components/schemas/TextFormat' type: array indentation: type: integer links: items: $ref: '#/components/schemas/LinkSpan' type: array mentions: items: $ref: '#/components/schemas/Mention' type: array text: type: string type: object MoleculeRef: properties: __typename: type: string id: format: api_id type: string type: object TextBoxDocumentContent: description: 'Represents a fill-in text box within a notebook entry. Text boxes are labeled input fields that can be added to entry templates to capture specific pieces of information. They support rich text formatting including bold, italic, links, and mentions. Text boxes can optionally be submitted/finalized to lock their content. The `text` field contains the raw text with mentions represented as zero-width positions. All position-based fields are indices into this raw text.' properties: __typename: type: string formats: description: Text formatting applied to ranges within the text. Positions are indices into the raw `text` field. items: $ref: '#/components/schemas/TextFormat' type: array indentation: type: integer isSubmittable: description: Whether this text box can currently be submitted. type: boolean links: description: Hyperlinks applied to ranges within the text. Positions are indices into the raw `text` field. items: $ref: '#/components/schemas/LinkSpan' type: array mentions: description: Inline mentions of other Benchling items. Each mention's position is an index into the raw `text` field. items: $ref: '#/components/schemas/Mention' type: array name: description: The label/name of the text box. type: string submissionStatus: description: Whether this text box has been submitted, has unsubmitted changes, or is unsubmitted. enum: - UNSUBMITTED - SUBMITTED - HAS_UNSUBMITTED_CHANGES type: string text: description: The raw text content. Mentions are represented as zero-width positions; use the `mentions` field to get the referenced items and their positions. type: string type: object ConnectionSide: description: 'Represents one endpoint of a connection between polymers in a complex polymer structure. Identifies the specific attachment point including the polymer reference, residue position (for sequences), modification type (for nucleotides), and R-group number (for specific attachment sites on monomers). Each ComplexPolymerConnection has a source and target ConnectionSide defining the two endpoints of the bond.' properties: __typename: type: string modificationType: description: 'Benchling has no concept of monomer index like HELM does, so specifying the modification type is our way of telling the particular monomer for an attachment on a nucleotide polymer. For non-nucleotide polymers, this is always null since we would only have one monomer at a particular index.' enum: - SUGAR - BASE - PHOSPHATE - null type: - 'null' - string polymerRef: description: The ref of the simple polymer connected at this attachment point. type: string rGroup: description: 'The r-group number designates the specific attachment site on the monomer used by this connection. If not null, always >= 1.' type: - 'null' - integer residueIndex: description: 'For sequence types, the index of the residue at this attachment point. residueIndex is always 0 or null for CHEM polymers since we never have more than one "residue".' type: - 'null' - integer type: object ModifiedNucleotide: description: 'Represents a chemically modified nucleotide at a specific position in an oligonucleotide sequence. Each modification specifies the sugar, base, and phosphate monomers (see NucleotideMonomer) that replace or modify the natural nucleotide at that position. Common modifications include 2''-O-methyl sugars for stability, phosphorothioate backbones for nuclease resistance, or modified bases for binding affinity. Used in NucleotideSimplePolymer to capture the modification pattern of therapeutic oligonucleotides.' properties: __typename: type: string baseMonomer: $ref: '#/components/schemas/NucleotideMonomerRef' description: The base monomer for the modification. createdAt: description: DateTime the modification was created. format: datetime type: string id: description: The ID of the modified nucleotide. type: string nucleotideSequence: $ref: '#/components/schemas/NucleotideSequenceRef' description: The nucleotide sequence that this modification belongs to. phosphateMonomer: description: The phosphate monomer for the modification. If empty, it represents a null phosphate at the 5' end of the sequence. oneOf: - $ref: '#/components/schemas/NucleotideMonomerRef' - type: 'null' position: description: 0-based index of the modification. type: integer sugarMonomer: $ref: '#/components/schemas/NucleotideMonomerRef' description: The sugar monomer for the modification. type: object TextFormat: description: 'A TextFormat applies a set of TextFormatProperties to some range within a text. Examples here would include font properties like bold, italic or underline as well as text color.' properties: __typename: type: string backgroundColor: type: - 'null' - string end: description: The index where we should stop applying a format (exclusive). type: integer foregroundColor: type: - 'null' - string properties: description: A span of content can have multiple TextFormatProperty specified. items: enum: - BOLD - ITALIC - UNDERLINE - STRIKETHROUGH - SUBSCRIPT - SUPERSCRIPT - MONOSPACE type: string type: array start: description: The index where we should start to apply a format (inclusive). type: integer type: object EntrySection: description: 'Represents a logical section within an Entry used to organize content into collapsible groups. While sections include a date field and were historically known as "Entry Days," they are flexible groupings that users can organize however they want—chronologically, thematically, or by any other criteria. Each section may have a title, date, and contains a list of content items (see `EntryContent`) such as text blocks, tables, and attachments. Sections are collapsible in the UI, which helps when rendering large notebook entries.' properties: __typename: type: string contents: oneOf: - items: $ref: '#/components/schemas/EntryContent' type: array - type: 'null' date: type: - 'null' - string provenanceUuid: type: string title: type: - 'null' - string type: object ObjectRef: properties: __typename: type: string id: format: api_id type: string type: object RunDocumentContent: description: 'Represents a run embedded in notebook or document content. Run content connects a document part to its run schema and, when available, the specific run.' properties: __typename: type: string indentation: type: integer run: oneOf: - $ref: '#/components/schemas/RunRef' - type: 'null' runSchema: $ref: '#/components/schemas/RunSchemaRef' 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 IOligoDuplex: description: 'An oligo duplex is a specific type of complex polymer that consists of two complementary DNA/RNA strands, with multiple attached molecules on either strand (aka conjugates).' properties: __typename: type: string aliases: oneOf: - items: type: string type: array - type: 'null' archiveReason: type: - 'null' - string archived: type: boolean canonicalHelm: type: string conjugates: oneOf: - items: anyOf: - $ref: '#/components/schemas/NucleotideSimplePolymer' - $ref: '#/components/schemas/ChemSimplePolymer' description: Union of NucleotideSimplePolymer, ChemSimplePolymer discriminator: propertyName: __typename type: array - type: 'null' createdAt: format: datetime type: string customFields: oneOf: - items: $ref: '#/components/schemas/CustomField' type: array - type: 'null' entityAssociations: items: $ref: '#/components/schemas/EntityAssociation' type: array entityRegistryId: type: - 'null' - string folder: oneOf: - $ref: '#/components/schemas/FolderRef' - type: 'null' forwardOffset: type: - 'null' - integer forwardStrand: oneOf: - $ref: '#/components/schemas/NucleotideSimplePolymer' - type: 'null' id: type: string modifiedAt: format: datetime type: string name: type: string originalHelm: type: - 'null' - string outOfSync: type: boolean outOfSyncReason: type: - 'null' - string project: oneOf: - $ref: '#/components/schemas/ProjectRef' - type: 'null' registrationOrigin: oneOf: - $ref: '#/components/schemas/RegistrationOrigin' - type: 'null' registry: oneOf: - $ref: '#/components/schemas/RegistryRef' - type: 'null' reverseStrand: oneOf: - $ref: '#/components/schemas/NucleotideSimplePolymer' - type: 'null' schema: $ref: '#/components/schemas/EntitySchemaRef' structure: $ref: '#/components/schemas/ComplexPolymerStructure' 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 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 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 nextToken: description: Token for pagination in: query name: nextToken schema: type: string 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 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 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